summaryrefslogtreecommitdiffstats
blob: 1e8d12918b152505a5f93b883b45763abff1420e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version='1.0' encoding='utf-8'?>

<!-- For a sensible tutorial on WiX, see http://wix.tramontana.co.hu/tutorial -->

<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>

	<?include variables.wxs ?>

	<Product Name='Swift' Id='*' UpgradeCode='D7F276D5-BA67-421E-817B-9E7AB4B7D2BF' Language='1033' Codepage='1252' Version='$(var.Version)' Manufacturer='Swift.im'>
		<Package Id='*' Keywords='Installer' Description="Swift Installer" Comments="Swift is available under the GPL version 3" Manufacturer="Swift.im" InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' InstallScope="perMachine"/>
		<Media Id='1' Cabinet='Swift.cab' EmbedCab='yes'/>

		<!-- Schedule the upgrade to afterInstallExecute means that MSI will first install the new version
			 over the existing version and run the uninstall of the old version afterwards. This way shortcuts
			 are not recreated on every new installation and pinned shortcuts stay alive.
			 However this requires that the components for installed files with the same filename will always
			 have the same GUID (do not run heat.exe with -gg flag) or else when MSI removes the components 
			 of the old version with the same filename as components of the new version it will delete the
			 files that belong to components of the new version.-->
		<MajorUpgrade Schedule="afterInstallExecute" DowngradeErrorMessage="A newer version is already installed. Remove this version if you wish to downgrade." />

		<Directory Id='TARGETDIR' Name='SourceDir'>
			<!-- Disabling CRT merge module, because it's not working
				<Merge Id="CRT" DiskId="1" Language="0" SourceFile="$(var.VCCRTFile)"/>
			-->

			<Directory Id='ProgramFilesFolder' Name='PFiles'>
					<!--<Directory Id='INSTALLDIR' Name='Swift'>
					</Directory>-->
			</Directory>

			<Directory Id="ProgramMenuFolder" Name="Programs">
				<Directory Id="ProgramMenuDir" Name="Swift">
					<Component Id="Shortcuts" Guid="D3BB9B0A-5D14-4920-B127-7CCD2D57BFB0">
						<RemoveFolder Id='ProgramMenuDir' On='uninstall' />
						<RegistryValue Root='HKCU' Key='Software\Swift\Swift' Type='string' Value='' KeyPath='yes' />
						<Shortcut Id='SwiftShortcut' Directory='ProgramMenuDir' Name='Swift' Target="[INSTALLDIR]\Swift.exe" Icon='Swift.exe'/>
					</Component>
				</Directory>
			</Directory>

			<Directory Id="DesktopFolder" Name="Desktop" />
		</Directory>

		<Feature Id='Core' Level='1' Title='Swift' Description='All necessary Swift files' Display='expand' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no' Absent='disallow'>
			<ComponentGroupRef Id='Files' />
			<!--<ComponentRef Id='Manual' />-->
		</Feature>

		<Feature Id='Shortcut' Level='1' Title='Shortcut' Description='Start Menu Shortcut' Display='expand' ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no'>
			<ComponentRef Id='Shortcuts' />
		</Feature>

		<!--<UIRef Id='WixUI_Advanced'/>-->
		<!--<UIRef Id="WixUI_Minimal"/>-->
		<UIRef Id="WixUI_Mondo"/>
		<WixVariable Id='WixUILicenseRtf' Value='COPYING.rtf'/>

		<Icon Id="Swift.exe" SourceFile="Swift.exe" />
		<Property Id="ARPPRODUCTICON" Value="Swift.exe"/> <!-- The icon in the "Programs" dialog -->

		<!-- 
				 VC Redistributable 
		-->

		<Binary Id="CRTBinary" SourceFile="$(var.VCCRTFile)"/>

		<CustomAction Id="CRTAction" Impersonate="no" Return="asyncNoWait" Execute="deferred" BinaryKey="CRTBinary" ExeCommand="/passive"/>

		<InstallExecuteSequence>
			<Custom Action='CRTAction' After='InstallInitialize'/>
		</InstallExecuteSequence>

	</Product>
</Wix>