Programmatically (not manually) finding the path where Git is installed on a Windows system
If you are inside of (or if you can open) your git bash shell, you can use pwd -W
$ cd / && pwd -W
C:/Program Files (x86)/Git
(I know, this is probably not what you want, and it's quite elementary, but I spent some time to find this, and perhaps it's useful for other people).
I'm using the following batch file to find out where Git for Windows has been installed:
@echo off
setlocal enabledelayedexpansion
rem Read the Git for Windows installation path from the Registry.
for %%k in (HKCU HKLM) do (
for %%w in (\ \Wow6432Node\) do (
for /f "skip=2 delims=: tokens=1*" %%a in ('reg query "%%k\SOFTWARE%%wMicrosoft\Windows\CurrentVersion\Uninstall\Git_is1" /v InstallLocation 2^> nul') do (
for /f "tokens=3" %%z in ("%%a") do (
set GIT=%%z:%%b
echo Found Git at "!GIT!".
goto FOUND
)
)
)
)
goto NOT_FOUND
:FOUND
rem Make sure Bash is in PATH (for running scripts).
set PATH=%GIT%bin;%PATH%
rem Do something with Git ...
:NOT_FOUND
I should be straight forward to do something similar in .NET. Just remember that you have to explicitly check the 32-bit branch of the Registry if you're on a 64-bit Windows.
Edit: Git for Windows 2.6.1 now additionally writes the CurrentVersion
, InstallPath
and LibexecPath
values to the HKEY_LOCAL_MACHINE\Software\GitForWindows
key.
If you are in Windows 8 and above here are the steps that you can follow.
- go to your start screen and search for git.exe
- In the search result right click on the Git Gui/ Git Bash icon and select Open File location
- You will be taken to a flder where the shortcuts will be located. Right click on the shortcut nd select properties
- the file location can be found in the Target field
For me it was "C:\Users\\AppData\Local\Programs\Git\cmd\git-gui.exe"
Hope it helps