1 <?xml version="1.0" encoding="utf-8"?>
\r
2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
\r
3 <?include Includes.wxi?>
\r
5 UpgradeCode="$(var.UpgradeGuid)"
\r
6 Name="$(var.ProductName) $(var.VersionNumberUserVisible) $(var.PlatformUserVisible)"
\r
8 Version="$(var.VersionNumberInternal)"
\r
9 Manufacturer="TortoiseGit"
\r
13 Keywords="$(var.PackageKeywords)"
\r
14 Description="$(var.PackageDescription)"
\r
15 Comments="$(var.PackageComments)"
\r
16 Manufacturer="$(var.PackageManufacturer)"
\r
17 InstallerVersion="300"
\r
18 Platform="$(var.PackagePlatforms)"
\r
21 SummaryCodepage="1252"/>
\r
23 <Upgrade Id="$(var.UpgradeGuid)" >
\r
24 <!-- upgrade is flagged if current-install is newer than or equal to package - TODO: should make a dialog appear asking user to confirm downgrade. -->
\r
25 <UpgradeVersion Property="NEWERVERSIONDETECTED" Minimum="$(var.VersionNumberInternal)" OnlyDetect="yes" />
\r
27 <!-- flag is set if the install will trigger an upgrade of an existing install -->
\r
28 <UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Maximum="$(var.VersionNumberInternal)" IncludeMaximum="no" />
\r
31 <Media Id="1" Cabinet="TSVN.cab" EmbedCab="yes" CompressionLevel="high" />
\r
33 <Icon Id="TSVNIcon" SourceFile="..\Resources\Tortoise.ico" />
\r
35 <Property Id="SSHRadio">Plink</Property>
\r
37 <!-- Launch Condition related properties ................................................................................. -->
\r
38 <Property Id="VERSIONIE">
\r
39 <RegistrySearch Id="RegSearchIeVersion" Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer" Name="Version" Type="raw" Win64="$(var.Win64YesNo)"/>
\r
41 <Condition Message="[ProductName] needs at least Internet Explorer 5">NOT ((VERSIONIE<<"1") OR (VERSIONIE<<"2") OR (VERSIONIE<<"3") OR (VERSIONIE<<"4"))</Condition>
\r
43 <?if $(var.Platform) = "win32" ?>
\r
44 <Property Id="GDIPLUSINSTALLED">
\r
45 <DirectorySearch Id="WND" Path="[SystemFolder]">
\r
46 <FileSearch LongName="GDIPlus.dll" />
\r
49 <Condition Message="You must have GDIPlus installed. Please download it from Microsoft and copy the GDIPlus.dll into your Windows\System32 folder."><![CDATA[((GDIPLUSINSTALLED<>"") OR (VersionNT <> 500))]]></Condition>
\r
52 <Property Id="ShowChangelogCheck">1</Property>
\r
53 <Property Id="ALLUSERS">1</Property>
\r
55 <Condition Message="[ProductName] requires a Windows NT based OS (Windows 2000 or later, specifically).">VersionNT</Condition>
\r
56 <Condition Message="[ProductName] requires Windows 2000 or later."><![CDATA[VersionNT >= 500]]></Condition>
\r
58 <!-- Show/Don't-show changelog related properties and custom actions ..................................................... -->
\r
59 <Property Id="TEXTEDITOR">
\r
60 <DirectorySearch Id="FileSearchTextEditorExe" Path="[WindowsFolder]">
\r
61 <FileSearch Id="FileSearchTextEditorExe" Name="notepad.exe" />
\r
64 <CustomAction Id="Set_ShowChangelog" Property="ShowChangelog" Value="Yes" Return="check" />
\r
65 <CustomAction Id="ShowChangelogAction" Property="TEXTEDITOR" ExeCommand="[INSTALLDIR]changelog.txt" Return="asyncNoWait" />
\r
67 <CustomAction Id="ShowDonatePage" BinaryKey="CustomActionsDLL" DllEntry="OpenDonatePage" />
\r
70 <CustomAction Id="KillCache" BinaryKey="CustomActionsDLL" DllEntry="TerminateCache" />
\r
71 <Binary Id="CustomActionsDLL" SourceFile="..\..\bin\$(var.ReleasePath)\bin\CustomActions.dll" />
\r
73 <!-- Unsafe-check properties and custom actions .......................................................................... -->
\r
74 <Property Id="VSDUIANDADVERTISED">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>
\r
75 <CustomAction Id="ERRCA_UIANDADVERTISED" Error="[VSDUIANDADVERTISED]" />
\r
77 <!-- Figure out where a previous installation was, if any ................................................................ -->
\r
78 <?if $(var.Platform) = "x64" ?>
\r
79 <CustomAction Id="DefaultTargetDir" Property="INSTALLDIR" Value="[ProgramFiles64Folder]$(var.ProductName)" Execute="immediate" />
\r
80 <Property Id="INSTALLDIR">
\r
81 <RegistrySearch Id="PreviousInstallLocationRegistrySearch" Root="HKLM" Key="Software\[Manufacturer]" Name="Directory" Type="raw" Win64="$(var.Win64YesNo)"/>
\r
84 <CustomAction Id="DefaultTargetDir" Property="INSTALLDIR" Value="[ProgramFilesFolder]$(var.ProductName)" Execute="immediate" />
\r
85 <Property Id="INSTALLDIR">
\r
86 <RegistrySearch Id="PreviousInstallLocationRegistrySearch" Root="HKLM" Key="Software\[Manufacturer]" Name="Directory" Type="raw" Win64="$(var.Win64YesNo)"/>
\r
91 <?include FeaturesFragment.wxi?>
\r
92 <?include StructureFragment.wxi?>
\r
93 <?include UIFragment.wxi?>
\r
96 <FragmentRef Id="StructureFragment"/>
\r
98 <FragmentRef Id="FeaturesFragment" />
\r
100 <FragmentRef Id="UIFragment" />
\r
102 <!-- Execute Sequencing ................................................................................................. -->
\r
103 <AdminExecuteSequence />
\r
104 <InstallExecuteSequence>
\r
105 <!-- AppSearch must be done before RemoveExistingProducts and before FindRelatedProducts -->
\r
106 <AppSearch Sequence="1"></AppSearch>
\r
107 <LaunchConditions After="AppSearch" />
\r
108 <Custom Action="DefaultTargetDir" After="LaunchConditions">INSTALLDIR=""</Custom>
\r
110 <RemoveExistingProducts After="InstallFinalize"><![CDATA[PREVIOUSVERSIONSINSTALLED OR (NOT NEWERVERSIONDETECTED AND OKTODOWNGRADE = 1)]]></RemoveExistingProducts>
\r
112 <Custom Action="KillCache" After="RemoveExistingProducts">Installed</Custom>
\r
114 <ScheduleReboot After="RegisterProduct" />
\r
115 </InstallExecuteSequence>
\r
117 <!-- UI Sequencing ...................................................................................................... -->
\r
119 <Show Dialog="FatalErrorDlg" OnExit="error" />
\r
120 <Show Dialog="UserExit" OnExit="cancel" />
\r
121 <Show Dialog="ExitDlg" OnExit="success" />
\r
122 <Show Dialog="PrepareDlg" Before="CostInitialize"><![CDATA[]]></Show>
\r
123 <Show Dialog="AdminWelcomeDlg" After="CostFinalize" />
\r
124 <Show Dialog="ProgressDlg" After="AdminWelcomeDlg" />
\r
126 <InstallUISequence>
\r
127 <Show Dialog="FatalErrorDlg" OnExit="error" />
\r
128 <Show Dialog="UserExit" OnExit="cancel" />
\r
129 <Show Dialog="ExitDlg" OnExit="success" />
\r
130 <Show Dialog="PrepareDlg" After="LaunchConditions" />
\r
131 <Show Dialog="WelcomeDlg" After="MigrateFeatureStates"><![CDATA[NOT Installed]]></Show>
\r
132 <Show Dialog="ResumeDlg" After="WelcomeDlg"><![CDATA[Installed AND (RESUME OR Preselected)]]></Show>
\r
133 <Show Dialog="MaintenanceWelcomeDlg" After="ResumeDlg"><![CDATA[Installed AND NOT RESUME AND NOT Preselected]]></Show>
\r
134 <Show Dialog="ProgressDlg" After="MaintenanceWelcomeDlg" />
\r
136 <FindRelatedProducts Suppress="no">1</FindRelatedProducts>
\r
138 <Custom Action="DefaultTargetDir" After="PrepareDlg">INSTALLDIR=""</Custom>
\r
139 <Custom Action="ERRCA_UIANDADVERTISED" Before="AppSearch">ProductState=1</Custom>
\r
140 <Custom Action="Set_ShowChangelog" After="AppSearch">NOT Installed</Custom>
\r
141 </InstallUISequence>
\r