1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <Wix xmlns=
"http://schemas.microsoft.com/wix/2006/wi">
3 <?include Includes.wxi
?>
4 <Product UpgradeCode=
"$(var.UpgradeGuid)" Name=
"$(var.ProductName) $(var.VersionNumberUserVisible) $(var.PlatformUserVisible)" Id=
"*" Version=
"$(var.VersionNumberInternal)" Manufacturer=
"TortoiseGit" Language=
"1033" Codepage=
"1252">
6 <Package Id=
"*" Keywords=
"$(var.PackageKeywords)" Description=
"$(var.PackageDescription)" Comments=
"$(var.TortoiseGitOrg)" Manufacturer=
"$(var.PackageManufacturer)" InstallerVersion=
"405" Platform=
"$(var.PackagePlatforms)" Languages=
"1033" Compressed=
"yes" SummaryCodepage=
"1252" InstallPrivileges=
"elevated" />
7 <Upgrade Id=
"$(var.UpgradeGuid)">
8 <!-- upgrade is flagged if current-install is newer than or equal to package -->
9 <UpgradeVersion Property=
"NEWERVERSIONDETECTED" Minimum=
"$(var.VersionNumberInternal)" OnlyDetect=
"yes" />
11 <UpgradeVersion Property=
"CLOSETGITCACHE" Maximum=
"2.2.2.0" IncludeMaximum=
"no" OnlyDetect=
"yes" />
13 <!-- flag is set if the install will trigger an upgrade of an existing install -->
14 <UpgradeVersion Property=
"PREVIOUSVERSIONSINSTALLED" Maximum=
"$(var.VersionNumberInternal)" IncludeMaximum=
"no" MigrateFeatures=
"yes" />
17 <MajorUpgrade AllowDowngrades=
"yes" Schedule=
"afterInstallValidate" />
18 <Media Id=
"1" Cabinet=
"TGIT.cab" EmbedCab=
"yes" CompressionLevel=
"high" />
20 <Icon Id=
"TGITIcon" SourceFile=
"..\Resources\Tortoise.ico" />
22 <Property Id=
"SSHTOOL" Secure=
"yes">Plink
</Property>
23 <Property Id=
"OLDSSH" Secure=
"yes">
24 <RegistrySearch Id=
"oldSSHSetting" Root=
"HKCU" Key=
"Software\[Manufacturer]" Name=
"SSH" Type=
"raw" />
27 <!-- Launch Condition related properties ................................................................................. -->
28 <Property Id=
"SHOWCHANGELOG" Secure=
"yes">1</Property>
29 <Property Id=
"FIRSTSTARTWIZARD" Secure=
"yes">1</Property>
30 <Property Id=
"ALLUSERS" Secure=
"yes">1</Property>
32 <Condition Message=
"[ProductName] requires Windows 7 or later."><![CDATA[(VersionNT
>=
601)]]
></Condition>
34 <?if $(var.Platform) =
"x86" ?>
35 <Condition Message=
"You are attempting to run the 32-bit installer on a 64-bit version of Windows. Please install the 64-bit version of TortoiseGit instead.">NOT Msix64
</Condition>
38 <?if $(var.Platform) =
"x64" ?>
39 <Upgrade Id=
"$(var.UpgradeGuid32)">
40 <UpgradeVersion Minimum=
"0.0.0.0" OnlyDetect=
"yes" Property=
"WIN32TGITFOUND" />
42 <Condition Message=
"Please uninstall all 32-bit versions of TortoiseGit before installing [ProductName].">NOT WIN32TGITFOUND
</Condition>
45 <!-- Show/Don't-show changelog related properties and custom actions ..................................................... -->
46 <Property Id=
"TEXTEDITOR" Secure=
"yes">
47 <DirectorySearch Id=
"FileSearchTextEditorExe" Path=
"[WindowsFolder]">
48 <FileSearch Id=
"FileSearchTextEditorExe" Name=
"notepad.exe" />
51 <CustomAction Id=
"Set_ShowChangelog" Property=
"SHOWCHANGELOG" Value=
"" Return=
"check" />
52 <CustomAction Id=
"ShowChangelogAction" Property=
"TEXTEDITOR" ExeCommand=
"[INSTALLDIR]changelog.txt" Return=
"asyncNoWait" />
54 <CustomAction Id=
"Set_FirstStartWizard" Property=
"FIRSTSTARTWIZARD" Value=
"" Return=
"check" />
55 <CustomAction Id=
"FirstStartWizardAction" Directory=
"D__Bin" ExeCommand=
""[INSTALLDIR]bin\TortoiseGitProc.exe" /command:firststart" Return=
"asyncNoWait" />
57 <CustomAction Id=
"ShowDonatePage" BinaryKey=
"CustomActionsDLL" DllEntry=
"OpenDonatePage" />
59 <CustomAction Id=
"KillCache" BinaryKey=
"CustomActionsDLL" DllEntry=
"TerminateCache" />
60 <Binary Id=
"CustomActionsDLL" SourceFile=
"..\..\bin\$(var.ReleasePath)\bin\CustomActions.dll" />
61 <CustomAction Id=
"RestartExplorer" BinaryKey=
"CustomActionsDLL" DllEntry=
"RestartExplorer" />
63 <!-- Unsafe-check properties and custom actions .......................................................................... -->
64 <Property Id=
"VSDUIANDADVERTISED" Secure=
"yes">This advertised application will not be installed because it might be unsafe. Contact your administrator to change the installation user interface option of the package to basic.
</Property>
65 <CustomAction Id=
"ERRCA_UIANDADVERTISED" Error=
"[VSDUIANDADVERTISED]" />
67 <!-- Figure out where a previous installation was, if any ................................................................ -->
68 <?if $(var.Platform) =
"x64" ?>
69 <CustomAction Id=
"DefaultTargetDir" Property=
"INSTALLDIR" Value=
"[ProgramFiles64Folder]$(var.ProductName)" Execute=
"immediate" />
70 <Property Id=
"INSTALLDIR" Secure=
"yes">
71 <RegistrySearch Id=
"PreviousInstallLocationRegistrySearch" Root=
"HKLM" Key=
"Software\[Manufacturer]" Name=
"Directory" Type=
"raw" Win64=
"$(var.Win64YesNo)" />
74 <CustomAction Id=
"DefaultTargetDir" Property=
"INSTALLDIR" Value=
"[ProgramFilesFolder]$(var.ProductName)" Execute=
"immediate" />
75 <Property Id=
"INSTALLDIR" Secure=
"yes">
76 <RegistrySearch Id=
"PreviousInstallLocationRegistrySearch" Root=
"HKLM" Key=
"Software\[Manufacturer]" Name=
"Directory" Type=
"raw" Win64=
"$(var.Win64YesNo)" />
80 <Property Id=
"LANGUAGEFOLDER" Secure=
"yes">
81 <RegistrySearch Key=
"SOFTWARE\[Manufacturer]" Root=
"HKLM" Type=
"raw" Id=
"LANGUAGEFOLDER_REGSEARCH" Name=
"LanguageFolderPath" Win64=
"$(var.Win64YesNo)"/>
84 <?include FeaturesFragment.wxi
?>
85 <?include StructureFragment.wxi
?>
86 <?include UIFragment.wxi
?>
89 <FragmentRef Id="StructureFragment" />
90 <FragmentRef Id="FeaturesFragment" />
91 <FragmentRef Id="UIFragment" />
94 <!-- Execute Sequencing ................................................................................................. -->
95 <AdminExecuteSequence />
96 <InstallExecuteSequence>
97 <!-- AppSearch must be done before RemoveExistingProducts and before FindRelatedProducts -->
98 <AppSearch Sequence=
"1" />
99 <LaunchConditions After=
"AppSearch" />
100 <Custom Action=
"DefaultTargetDir" After=
"LaunchConditions">INSTALLDIR=
""</Custom>
101 <Custom Action=
"KillCache" After=
"ValidateProductID">Installed OR REMOVE OR CLOSETGITCACHE
</Custom>
102 </InstallExecuteSequence>
104 <!-- UI Sequencing ...................................................................................................... -->
106 <Show Dialog=
"FatalErrorDlg" OnExit=
"error" />
107 <Show Dialog=
"UserExit" OnExit=
"cancel" />
108 <Show Dialog=
"ExitDlg" OnExit=
"success" />
109 <Show Dialog=
"PrepareDlg" Before=
"CostInitialize"><![CDATA[]]
></Show>
110 <Show Dialog=
"AdminWelcomeDlg" After=
"CostFinalize" />
111 <Show Dialog=
"ProgressDlg" After=
"AdminWelcomeDlg" />
115 <Show Dialog=
"FatalErrorDlg" OnExit=
"error" />
116 <Show Dialog=
"UserExit" OnExit=
"cancel" />
117 <Show Dialog=
"ExitDlg" OnExit=
"success" />
118 <Show Dialog=
"PrepareDlg" After=
"LaunchConditions" />
119 <Show Dialog=
"WelcomeDlg" After=
"MigrateFeatureStates"><![CDATA[NOT Installed]]
></Show>
120 <Show Dialog=
"ResumeDlg" After=
"WelcomeDlg"><![CDATA[Installed AND (RESUME OR Preselected)]]
></Show>
121 <Show Dialog=
"PatchWelcomeDlg" After=
"ResumeDlg"><![CDATA[Installed AND NOT RESUME AND PATCH]]
></Show>
122 <Show Dialog=
"MaintenanceWelcomeDlg" After=
"ResumeDlg"><![CDATA[Installed AND NOT RESUME AND NOT Preselected and NOT PATCH]]
></Show>
123 <Show Dialog=
"ProgressDlg" After=
"MaintenanceWelcomeDlg" />
125 <FindRelatedProducts Suppress=
"no">1</FindRelatedProducts>
127 <Custom Action=
"DefaultTargetDir" After=
"PrepareDlg">INSTALLDIR=
""</Custom>
128 <Custom Action=
"ERRCA_UIANDADVERTISED" Before=
"AppSearch">ProductState=
1</Custom>
129 <Custom Action=
"Set_ShowChangelog" After=
"LaunchConditions">NOT (NEWERVERSIONDETECTED OR PREVIOUSVERSIONSINSTALLED OR PATCH)
</Custom>
130 <Custom Action=
"Set_FirstStartWizard" After=
"LaunchConditions">(NEWERVERSIONDETECTED OR PREVIOUSVERSIONSINSTALLED OR PATCH)
</Custom>