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.

  1. go to your start screen and search for git.exe
  2. In the search result right click on the Git Gui/ Git Bash icon and select Open File location
  3. You will be taken to a flder where the shortcuts will be located. Right click on the shortcut nd select properties
  4. 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

Tags:

Windows

Git