1 \feff<?xml version="1.0" ?>
2 <Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi'>
4 <!-- See config.wxi for the symbols that it defines/asserts -->
7 <!-- See language_config for localization options. -->
8 <?include language_config.wxi?>
11 Id="$(var.ProductCode)"
12 Codepage="$(var.Codepage)"
13 Language="$(var.LanguageCode)"
14 Manufacturer="$(var.Manufacturer)"
15 Name="$(var.ProductName)"
16 UpgradeCode="6823EEDD-84FC-4204-ABB3-A80D25779833"
17 Version="$(var.NumericVersion)"
21 Note that we are not specifying an explicit Package Code below. That way WiX will
22 generate a new one for each build. If an explicit one needs to be specified, use :
23 Id="$(var.PackageCode)"
26 Id="????????-????-????-????-????????????"
28 Comments="$(var.PackageComments)"
30 Description="$(var.ProductName)"
31 InstallerVersion="110"
32 Keywords="Installer,OpenAFS,$(var.Manufacturer)"
33 Languages="$(var.Languages)"
34 Manufacturer="$(var.Manufacturer)"
37 SummaryCodepage="1252"
40 <!-- Launch conditions -->
42 Message="$(loc.StrLaunchCond)">
43 <![CDATA[VersionNT >= 500]]>
46 <!-- Global Properties -->
47 <?include property.wxi?>
49 <!-- File system and registry settings -->
50 <Directory Id="TARGETDIR" Name="SourceDir">
51 <?include registry.wxi?>
56 <?include feature.wxi?>
58 <!-- User interface -->
59 <?include lang\$(var.Language)\ui.wxi?>
61 <!-- Custom actions -->
62 <?ifndef UseDllLoopbackInstaller?>
65 src="$(var.MediaBinDir)instloop.exe"/>
69 src="$(var.MediaBinDir)afsloopback.dll"/>
73 src="$(var.MediaDllDir)afscustom.dll"/>
74 <?ifdef UseDllLoopbackInstaller?>
77 BinaryKey="BIN_afsLoopback"
78 DllEntry="installLoopbackMSI"
82 <?ifdef RemoveLoopback?>
85 BinaryKey="BIN_afsLoopback"
86 DllEntry="uninstallLoopbackMSI"
91 BinaryKey="BIN_afsLoopback"
92 DllEntry="uninstallLoopbackMSI"
99 BinaryKey="BIN_instloop"
104 <?ifdef RemoveLoopback?>
106 Id="RollbackLoopback"
107 BinaryKey="BIN_instloop"
114 BinaryKey="BIN_instloop"
122 Id="InstallNetProvider"
123 BinaryKey="BIN_afsCustom"
124 DllEntry="InstallNetProvider"
125 Execute="oncePerProcess" />
127 Id="RemoveNetProvider"
128 BinaryKey="BIN_afsCustom"
129 DllEntry="UninstallNetProvider"
131 Execute="oncePerProcess" />
133 Id="RollbackNetProvider"
134 BinaryKey="BIN_afsCustom"
135 DllEntry="UninstallNetProvider"
137 Execute="rollback" />
140 BinaryKey="BIN_afsCustom"
141 DllEntry="ConfigureClientService"
143 Execute="deferred" />
146 BinaryKey="BIN_afsCustom"
147 DllEntry="ConfigureServerService"
149 Execute="deferred" />
151 Id="RemoveNsisInstallation"
152 BinaryKey="BIN_afsCustom"
153 DllEntry="UninstallNsisInstallation"
154 Execute="immediate" />
156 Id="AbortInstallationA"
157 BinaryKey="BIN_afsCustom"
158 DllEntry="AbortMsiImmediate"
159 Execute="immediate" />
161 Id="AbortInstallationB"
162 BinaryKey="BIN_afsCustom"
163 DllEntry="AbortMsiImmediate"
164 Execute="immediate" />
166 <!-- Installation Sequences -->
167 <AdvertiseExecuteSequence />
168 <AdminExecuteSequence />
169 <InstallExecuteSequence>
170 <RemoveExistingProducts After="InstallValidate">IBMAFS_UPGRADE OR OPENAFS_UPGRADE</RemoveExistingProducts>
171 <Custom Action="RemoveNsisInstallation" Before="AbortInstallationA">NSISUNINSTALL <> "" AND UILevel >= 4</Custom>
172 <Custom Action="AbortInstallationA" Before="CostInitialize">NSISUNINSTALL <> "" AND UILevel < 4</Custom>
173 <!-- Assert that if the server is going to be installed locally after this session, control center and client are also local -->
174 <Custom Action="AbortInstallationB" After="MigrateFeatureStates">
175 <![CDATA[((&feaServer=3 OR (!feaServer=3 AND &feaServer<1)) AND (&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3) OR &feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3) ))]]>
177 <?ifdef RemoveLoopback?>
178 <Custom Action="RemoveLoopback" After="SelfRegModules">&feaLoopback=2 OR &feaLoopback=3</Custom>
179 <Custom Action="RollbackLoopback" After="RemoveLoopback">&feaLoopback=3</Custom>
180 <Custom Action="InstallLoopback" After="RollbackLoopback">&feaLoopback=3</Custom>
182 <Custom Action="InstallLoopback" After="SelfRegModules">&feaLoopback=3</Custom>
184 <Custom Action="RollbackNetProvider" After="WriteRegistryValues">&feaClient=3</Custom>
185 <Custom Action="InstallNetProvider" After="RollbackNetProvider">&feaClient=3</Custom>
186 <Custom Action="RemoveNetProvider" After="InstallNetProvider">&feaClient=2</Custom>
187 <Custom Action="ConfigureClient" After="InstallServices">&feaClient=3</Custom>
188 <Custom Action="ConfigureServer" After="ConfigureClient">&feaServer=3</Custom>
189 <ScheduleReboot After="PublishProduct">&feaClient=3 OR &feaServer=3 OR &feaClient=2 OR &feaServer=2</ScheduleReboot>
190 </InstallExecuteSequence>
192 <!-- Related producs -->
193 <!-- MIT's OpenAFS MSI installer -->
194 <Upgrade Id="6823EEDD-84FC-4204-ABB3-A80D25779833">
195 <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="no" Maximum="$(var.NumericVersion)" MigrateFeatures="yes" Property="OPENAFS_UPGRADE" />
198 <!-- MIT's Transarc AFS MSI Installer -->
199 <Upgrade Id="5332B94F-DE38-4927-9EAB-51F4A64193A7">
200 <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="yes" Maximum="3.6.2" MigrateFeatures="no" Property="IBMAFS_UPGRADE" />
203 <!-- openafs.org NSIS installer is detected using other means -->
204 <!-- Please let us know if you want other Installers to be detected and upgraded/removed -->
207 <Media Id="1" Cabinet="disk1.cab" CompressionLevel="high" EmbedCab="yes" />