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
7 Id="????????-????-????-????-????????????"
\r
8 Version="$(var.VersionNumberInternal)"
\r
9 Manufacturer="TortoiseSVN"
\r
12 Id="????????-????-????-????-????????????"
\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 Platforms="$(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" src="..\Resources\Tortoise.ico" />
\r
35 <!-- Launch Condition related properties ................................................................................. -->
\r
36 <Property Id="VERSIONIE">
\r
37 <RegistrySearch Id="RegSearchIeVersion" Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer" Name="Version" Type="raw" Win64="$(var.Win64YesNo)"/>
\r
39 <Condition Message="[ProductName] needs at least Internet Explorer 5">NOT ((VERSIONIE<<"1") OR (VERSIONIE<<"2") OR (VERSIONIE<<"3") OR (VERSIONIE<<"4"))</Condition>
\r
41 <?if $(env.Platform) = "win32" ?>
\r
42 <Property Id="GDIPLUSINSTALLED">
\r
43 <DirectorySearch Id="WND" Path="[SystemFolder]">
\r
44 <FileSearch LongName="GDIPlus.dll" />
\r
47 <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
50 <Property Id="ShowChangelogCheck">1</Property>
\r
51 <Property Id="ALLUSERS">1</Property>
\r
53 <Condition Message="[ProductName] requires a Windows NT based OS (Windows 2000 or later, specifically).">VersionNT</Condition>
\r
54 <Condition Message="[ProductName] requires Windows 2000 or later."><![CDATA[VersionNT >= 500]]></Condition>
\r
56 <!-- Show/Don't-show changelog related properties and custom actions ..................................................... -->
\r
57 <Property Id="TEXTEDITOR">
\r
58 <DirectorySearch Id="FileSearchTextEditorExe" Path="[WindowsFolder]">
\r
59 <FileSearch Id="FileSearchTextEditorExe" Name="notepad.exe" />
\r
62 <CustomAction Id="Set_ShowChangelog" Property="ShowChangelog" Value="Yes" Return="check" />
\r
63 <CustomAction Id="ShowChangelogAction" Property="TEXTEDITOR" ExeCommand="[INSTALLDIR]changelog.txt" Return="asyncNoWait" />
\r
64 <CustomAction Id="ShowDonatePage" BinaryKey="CustomActionsDLL" DllEntry="OpenDonatePage" />
\r
65 <CustomAction Id="KillCache" BinaryKey="CustomActionsDLL" DllEntry="TerminateCache" />
\r
66 <Binary Id="CustomActionsDLL" src="..\..\bin\$(var.ReleasePath)\bin\CustomActions.dll" />
\r
68 <!-- Unsafe-check properties and custom actions .......................................................................... -->
\r
69 <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
70 <CustomAction Id="ERRCA_UIANDADVERTISED" Error="[VSDUIANDADVERTISED]" />
\r
72 <!-- Figure out where a previous installation was, if any ................................................................ -->
\r
73 <?if $(env.Platform) = "x64" ?>
\r
74 <CustomAction Id="DefaultTargetDir" Property="INSTALLDIR" Value="[ProgramFiles64Folder]$(var.ProductName)" Execute="immediate" />
\r
75 <Property Id="INSTALLDIR">
\r
76 <RegistrySearch Id="PreviousInstallLocationRegistrySearch" Root="HKLM" Key="Software\[Manufacturer]" Name="Directory" Type="raw" Win64="$(var.Win64YesNo)"/>
\r
79 <CustomAction Id="DefaultTargetDir" Property="INSTALLDIR" Value="[ProgramFilesFolder]$(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
85 <FragmentRef Id="StructureFragment"/>
\r
87 <FragmentRef Id="FeaturesFragment" />
\r
89 <FragmentRef Id="UIFragment" />
\r
91 <!-- Execute Sequencing ................................................................................................. -->
\r
92 <AdminExecuteSequence />
\r
93 <InstallExecuteSequence>
\r
94 <!-- AppSearch must be done before RemoveExistingProducts and before FindRelatedProducts -->
\r
95 <AppSearch Sequence="1"></AppSearch>
\r
96 <LaunchConditions After="AppSearch" />
\r
97 <Custom Action="DefaultTargetDir" After="LaunchConditions">INSTALLDIR=""</Custom>
\r
98 <RemoveExistingProducts After="FindRelatedProducts"><![CDATA[PREVIOUSVERSIONSINSTALLED OR (NOT NEWERVERSIONDETECTED AND OKTODOWNGRADE = 1)]]></RemoveExistingProducts>
\r
99 <Custom Action="KillCache" After="RemoveExistingProducts">Installed</Custom>
\r
100 <ScheduleReboot After="RegisterProduct" />
\r
101 </InstallExecuteSequence>
\r
103 <!-- UI Sequencing ...................................................................................................... -->
\r
105 <Show Dialog="FatalErrorDlg" OnExit="error" />
\r
106 <Show Dialog="UserExit" OnExit="cancel" />
\r
107 <Show Dialog="ExitDlg" OnExit="success" />
\r
108 <Show Dialog="PrepareDlg" Before="CostInitialize"><![CDATA[]]></Show>
\r
109 <Show Dialog="AdminWelcomeDlg" After="CostFinalize" />
\r
110 <Show Dialog="ProgressDlg" After="AdminWelcomeDlg" />
\r
112 <InstallUISequence>
\r
113 <Show Dialog="FatalErrorDlg" OnExit="error" />
\r
114 <Show Dialog="UserExit" OnExit="cancel" />
\r
115 <Show Dialog="ExitDlg" OnExit="success" />
\r
116 <Show Dialog="PrepareDlg" After="LaunchConditions" />
\r
117 <Show Dialog="WelcomeDlg" After="MigrateFeatureStates"><![CDATA[NOT Installed]]></Show>
\r
118 <Show Dialog="ResumeDlg" After="WelcomeDlg"><![CDATA[Installed AND (RESUME OR Preselected)]]></Show>
\r
119 <Show Dialog="MaintenanceWelcomeDlg" After="ResumeDlg"><![CDATA[Installed AND NOT RESUME AND NOT Preselected]]></Show>
\r
120 <Show Dialog="ProgressDlg" After="MaintenanceWelcomeDlg" />
\r
122 <FindRelatedProducts Suppress="no">1</FindRelatedProducts>
\r
124 <Custom Action="DefaultTargetDir" After="PrepareDlg">INSTALLDIR=""</Custom>
\r
125 <Custom Action="ERRCA_UIANDADVERTISED" Before="AppSearch">ProductState=1</Custom>
\r
126 <Custom Action="Set_ShowChangelog" After="AppSearch">NOT Installed</Custom>
\r
127 </InstallUISequence>
\r