Installer: Start included files with [Code] to get syntax highlighting
[msysgit.git] / share / WinGit / putty.inc.iss
blob2295b7fd2a4f14927f8aa8c7b7cc8be09b713169
1 [Code]
3 const
4 TortoiseGitInstallKey='SOFTWARE\TortoiseGit';
5 TortoiseSVNInstallKey='SOFTWARE\TortoiseSVN';
6 TortoiseCVSUninstallKey='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TortoiseCVS_is1';
7 PuTTYUninstallKey='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\PuTTY_is1';
8 PuTTYPrivateKeyAssoc='PuTTYPrivateKey\shell\open\command';
10 // Tries to detect the path to a PuTTY installation / an application that comes
11 // with an improved version of Plink. TortoisePlink from TortoiseGit/SVN features a
12 // GUI dialog to accept new host keys, for example.
13 function GetPuTTYLocation:string;
14 begin
15 // Prefer TortoisePlink over vanilla Plink for its GUI dialog to accept host keys.
16 if (IsWin64 and RegQueryStringValue(HKEY_LOCAL_MACHINE_64,TortoiseGitInstallKey,'Directory',Result)) or
17 RegQueryStringValue(HKEY_LOCAL_MACHINE_32,TortoiseGitInstallKey,'Directory',Result) then begin
18 // C:\Program Files\TortoiseGit\
19 Result:=Result+'bin\';
20 // C:\Program Files\TortoiseGit\bin\
21 end else if (IsWin64 and RegQueryStringValue(HKEY_LOCAL_MACHINE_64,TortoiseSVNInstallKey,'Directory',Result)) or
22 RegQueryStringValue(HKEY_LOCAL_MACHINE_32,TortoiseSVNInstallKey,'Directory',Result) then begin
23 // C:\Program Files\TortoiseSVN\
24 Result:=Result+'bin\';
25 // C:\Program Files\TortoiseSVN\bin\
26 end else begin
27 if not (IsWin64 and RegQueryStringValue(HKEY_LOCAL_MACHINE_64,TortoiseCVSUninstallKey,'InstallLocation',Result)) then begin
28 RegQueryStringValue(HKEY_LOCAL_MACHINE_32,TortoiseCVSUninstallKey,'InstallLocation',Result);
29 end;
30 // C:\Program Files\TortoiseCVS\
31 end;
33 if DirExists(Result) then begin
34 Result:=Result+'TortoisePlink.exe'
35 Exit;
36 end;
38 if not RegQueryStringValue(HKEY_LOCAL_MACHINE,PuTTYUninstallKey,'InstallLocation',Result) then begin
39 if RegQueryStringValue(HKEY_CLASSES_ROOT,PuTTYPrivateKeyAssoc,'',Result) then begin
40 // "C:\Program Files\PuTTY\pageant.exe" "%1"
41 Result:=RemoveQuotes(Result);
42 // C:\Program Files\PuTTY\pageant.exe" "%1
43 Result:=ExtractFilePath(Result);
44 end;
45 end;
46 // C:\Program Files\PuTTY\
48 if not DirExists(Result) then begin
49 // Guess something.
50 Result:=ExpandConstant('{pf}\PuTTY\');
51 end;
53 Result:=Result+'plink.exe'
54 end;