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.PackageComments)" 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 <!-- flag is set if the install will trigger an upgrade of an existing install -->
12 <UpgradeVersion Property=
"PREVIOUSVERSIONSINSTALLED" Maximum=
"$(var.VersionNumberInternal)" IncludeMaximum=
"no" MigrateFeatures=
"yes" />
15 <MajorUpgrade AllowDowngrades=
"yes" Schedule=
"afterInstallValidate" />
16 <Media Id=
"1" Cabinet=
"TGIT.cab" EmbedCab=
"yes" CompressionLevel=
"high" />
18 <Icon Id=
"TGITIcon" SourceFile=
"..\Resources\Tortoise.ico" />
20 <Property Id=
"SSHTOOL" Secure=
"yes">Plink
</Property>
21 <Property Id=
"OLDSSH" Secure=
"yes">
22 <RegistrySearch Id=
"oldSSHSetting" Root=
"HKCU" Key=
"Software\[Manufacturer]" Name=
"SSH" Type=
"raw" />
25 <!-- Launch Condition related properties ................................................................................. -->
26 <Property Id=
"ShowChangelogCheck">1</Property>
27 <Property Id=
"ALLUSERS" Secure=
"yes">1</Property>
29 <Condition Message=
"[ProductName] requires Windows XP SP3 or later."><![CDATA[(VersionNT
> 501) OR ((VersionNT =
501) AND (ServicePackLevel
>=
3))]]
></Condition>
31 <?if $(var.Platform) =
"x86" ?>
32 <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>
35 <?if $(var.Platform) =
"x64" ?>
36 <Upgrade Id=
"$(var.UpgradeGuid32)">
37 <UpgradeVersion Minimum=
"0.0.0.0" OnlyDetect=
"yes" Property=
"WIN32TGITFOUND" />
39 <Condition Message=
"Please uninstall all 32-bit versions of TortoiseGit before installing [ProductName].">NOT WIN32TGITFOUND
</Condition>
42 <!-- Show/Don't-show changelog related properties and custom actions ..................................................... -->
43 <Property Id=
"TEXTEDITOR" Secure=
"yes">
44 <DirectorySearch Id=
"FileSearchTextEditorExe" Path=
"[WindowsFolder]">
45 <FileSearch Id=
"FileSearchTextEditorExe" Name=
"notepad.exe" />
48 <CustomAction Id=
"Set_ShowChangelog" Property=
"ShowChangelog" Value=
"Yes" Return=
"check" />
49 <CustomAction Id=
"ShowChangelogAction" Property=
"TEXTEDITOR" ExeCommand=
"[INSTALLDIR]changelog.txt" Return=
"asyncNoWait" />
51 <CustomAction Id=
"ShowDonatePage" BinaryKey=
"CustomActionsDLL" DllEntry=
"OpenDonatePage" />
53 <CustomAction Id=
"KillCache" BinaryKey=
"CustomActionsDLL" DllEntry=
"TerminateCache" />
54 <Binary Id=
"CustomActionsDLL" SourceFile=
"..\..\bin\$(var.ReleasePath)\bin\CustomActions.dll" />
56 <!-- Unsafe-check properties and custom actions .......................................................................... -->
57 <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>
58 <CustomAction Id=
"ERRCA_UIANDADVERTISED" Error=
"[VSDUIANDADVERTISED]" />
60 <!-- Figure out where a previous installation was, if any ................................................................ -->
61 <?if $(var.Platform) =
"x64" ?>
62 <CustomAction Id=
"DefaultTargetDir" Property=
"INSTALLDIR" Value=
"[ProgramFiles64Folder]$(var.ProductName)" Execute=
"immediate" />
63 <Property Id=
"INSTALLDIR" Secure=
"yes">
64 <RegistrySearch Id=
"PreviousInstallLocationRegistrySearch" Root=
"HKLM" Key=
"Software\[Manufacturer]" Name=
"Directory" Type=
"raw" Win64=
"$(var.Win64YesNo)" />
67 <CustomAction Id=
"DefaultTargetDir" Property=
"INSTALLDIR" Value=
"[ProgramFilesFolder]$(var.ProductName)" Execute=
"immediate" />
68 <Property Id=
"INSTALLDIR" Secure=
"yes">
69 <RegistrySearch Id=
"PreviousInstallLocationRegistrySearch" Root=
"HKLM" Key=
"Software\[Manufacturer]" Name=
"Directory" Type=
"raw" Win64=
"$(var.Win64YesNo)" />
73 <?include FeaturesFragment.wxi
?>
74 <?include StructureFragment.wxi
?>
75 <?include UIFragment.wxi
?>
78 <FragmentRef Id="StructureFragment" />
79 <FragmentRef Id="FeaturesFragment" />
80 <FragmentRef Id="UIFragment" />
83 <!-- Execute Sequencing ................................................................................................. -->
84 <AdminExecuteSequence />
85 <InstallExecuteSequence>
86 <!-- AppSearch must be done before RemoveExistingProducts and before FindRelatedProducts -->
87 <AppSearch Sequence=
"1" />
88 <LaunchConditions After=
"AppSearch" />
89 <Custom Action=
"DefaultTargetDir" After=
"LaunchConditions">INSTALLDIR=
""</Custom>
90 <Custom Action=
"KillCache" After=
"RemoveExistingProducts">Installed
</Custom>
91 </InstallExecuteSequence>
93 <!-- UI Sequencing ...................................................................................................... -->
95 <Show Dialog=
"FatalErrorDlg" OnExit=
"error" />
96 <Show Dialog=
"UserExit" OnExit=
"cancel" />
97 <Show Dialog=
"ExitDlg" OnExit=
"success" />
98 <Show Dialog=
"PrepareDlg" Before=
"CostInitialize"><![CDATA[]]
></Show>
99 <Show Dialog=
"AdminWelcomeDlg" After=
"CostFinalize" />
100 <Show Dialog=
"ProgressDlg" After=
"AdminWelcomeDlg" />
104 <Show Dialog=
"FatalErrorDlg" OnExit=
"error" />
105 <Show Dialog=
"UserExit" OnExit=
"cancel" />
106 <Show Dialog=
"ExitDlg" OnExit=
"success" />
107 <Show Dialog=
"PrepareDlg" After=
"LaunchConditions" />
108 <Show Dialog=
"WelcomeDlg" After=
"MigrateFeatureStates"><![CDATA[NOT Installed]]
></Show>
109 <Show Dialog=
"ResumeDlg" After=
"WelcomeDlg"><![CDATA[Installed AND (RESUME OR Preselected)]]
></Show>
110 <Show Dialog=
"MaintenanceWelcomeDlg" After=
"ResumeDlg"><![CDATA[Installed AND NOT RESUME AND NOT Preselected]]
></Show>
111 <Show Dialog=
"ProgressDlg" After=
"MaintenanceWelcomeDlg" />
113 <FindRelatedProducts Suppress=
"no">1</FindRelatedProducts>
115 <Custom Action=
"DefaultTargetDir" After=
"PrepareDlg">INSTALLDIR=
""</Custom>
116 <Custom Action=
"ERRCA_UIANDADVERTISED" Before=
"AppSearch">ProductState=
1</Custom>
117 <Custom Action=
"Set_ShowChangelog" After=
"AppSearch">NOT Installed
</Custom>