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 We autogenerate a new product code for each build. According to MSDN we have
12 to change the product code whenever we change the name of the MSI file. Each
13 version of OpenAFS has a different MSI name. Thus, each version needs a
17 Id="????????-????-????-????-????????????"
18 Codepage="$(var.Codepage)"
19 Language="$(var.LanguageCode)"
20 Manufacturer="$(var.Manufacturer)"
21 Name="$(var.ProductName)"
22 UpgradeCode="6823EEDD-84FC-4204-ABB3-A80D25779833"
23 Version="$(var.NumericVersion)"
27 Note that we are not specifying an explicit Package Code below. That way WiX will
28 generate a new one for each build. If an explicit one needs to be specified, use :
29 Id="$(var.PackageCode)"
32 Id="????????-????-????-????-????????????"
34 Comments="$(var.PackageComments)"
36 Description="$(var.ProductName)"
37 InstallerVersion="110"
38 Keywords="Installer,OpenAFS,$(var.Manufacturer)"
39 Languages="$(var.Languages)"
40 Manufacturer="$(var.Manufacturer)"
43 SummaryCodepage="1252"
46 <!-- Launch conditions -->
47 <Condition Message="$(loc.StrLaunchCond)">
48 <![CDATA[VersionNT >= 500]]>
50 <Condition Message="$(loc.AdminRequired)">Privileged</Condition>
53 <!-- Global Properties -->
54 <?include property.wxi?>
56 <!-- File system and registry settings -->
57 <Directory Id="TARGETDIR" Name="SourceDir">
58 <?include registry.wxi?>
63 <?include feature.wxi?>
65 <!-- User interface -->
66 <?include lang\$(var.Language)\ui.wxi?>
68 <!-- Custom actions -->
69 <?ifndef UseDllLoopbackInstaller?>
72 src="$(var.MediaBinDir)instloop.exe"/>
76 src="$(var.MediaBinDir)afsloopback.dll"/>
80 src="$(var.MediaDllDir)afscustom.dll"/>
81 <?ifdef UseDllLoopbackInstaller?>
84 BinaryKey="BIN_afsLoopback"
85 DllEntry="installLoopbackMSI"
89 <?ifdef RemoveLoopback?>
92 BinaryKey="BIN_afsLoopback"
93 DllEntry="uninstallLoopbackMSI"
98 BinaryKey="BIN_afsLoopback"
99 DllEntry="uninstallLoopbackMSI"
106 BinaryKey="BIN_instloop"
111 <?ifdef RemoveLoopback?>
113 Id="RollbackLoopback"
114 BinaryKey="BIN_instloop"
121 BinaryKey="BIN_instloop"
129 Id="InstallNetProvider"
130 BinaryKey="BIN_afsCustom"
131 DllEntry="InstallNetProvider"
132 Execute="oncePerProcess" />
134 Id="RemoveNetProvider"
135 BinaryKey="BIN_afsCustom"
136 DllEntry="UninstallNetProvider"
138 Execute="oncePerProcess" />
140 Id="RollbackNetProvider"
141 BinaryKey="BIN_afsCustom"
142 DllEntry="UninstallNetProvider"
144 Execute="rollback" />
147 BinaryKey="BIN_afsCustom"
148 DllEntry="ConfigureClientService"
150 Execute="deferred" />
153 BinaryKey="BIN_afsCustom"
154 DllEntry="ConfigureServerService"
156 Execute="deferred" />
158 Id="RemoveNsisInstallation"
159 BinaryKey="BIN_afsCustom"
160 DllEntry="UninstallNsisInstallation"
161 Execute="immediate" />
163 Id="CreateAFSAdminGroup"
164 BinaryKey="BIN_afsCustom"
165 DllEntry="CreateAFSClientAdminGroup"
167 Execute="deferred" />
169 Id="RemoveAFSAdminGroup"
170 BinaryKey="BIN_afsCustom"
171 DllEntry="RemoveAFSClientAdminGroup"
173 Execute="deferred" />
175 Id="RollbackAFSAdminGroup"
176 BinaryKey="BIN_afsCustom"
177 DllEntry="RemoveAFSClientAdminGroup"
179 Execute="rollback" />
181 Id="AbortInstallationA"
182 BinaryKey="BIN_afsCustom"
183 DllEntry="AbortMsiImmediate"
184 Execute="immediate" />
186 Id="AbortInstallationB"
187 BinaryKey="BIN_afsCustom"
188 DllEntry="AbortMsiImmediate"
189 Execute="immediate" />
191 <!-- Installation Sequences -->
192 <AdvertiseExecuteSequence />
193 <AdminExecuteSequence />
194 <InstallExecuteSequence>
195 <RemoveExistingProducts After="InstallValidate">IBMAFS_UPGRADE OR OPENAFS_UPGRADE</RemoveExistingProducts>
196 <Custom Action="RemoveNsisInstallation" Before="AbortInstallationA">NSISUNINSTALL <> "" AND UILevel >= 4</Custom>
197 <Custom Action="AbortInstallationA" Before="CostInitialize">NSISUNINSTALL <> "" AND UILevel < 4</Custom>
198 <!-- Assert that if the server is going to be installed locally after this session, control center and client are also local -->
199 <Custom Action="AbortInstallationB" After="MigrateFeatureStates">
200 <![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) ))]]>
202 <?ifdef RemoveLoopback?>
203 <Custom Action="RemoveLoopback" After="SelfRegModules">&feaLoopback=2 OR &feaLoopback=3</Custom>
204 <Custom Action="RollbackLoopback" After="RemoveLoopback">&feaLoopback=3</Custom>
205 <Custom Action="InstallLoopback" After="RollbackLoopback">&feaLoopback=3</Custom>
207 <Custom Action="InstallLoopback" After="SelfRegModules">&feaLoopback=3</Custom>
209 <Custom Action="RollbackNetProvider" After="WriteRegistryValues">&feaClient=3</Custom>
210 <Custom Action="InstallNetProvider" After="RollbackNetProvider">&feaClient=3</Custom>
211 <Custom Action="RemoveNetProvider" After="InstallNetProvider">&feaClient=2</Custom>
212 <Custom Action="ConfigureClient" After="InstallServices">&feaClient=3</Custom>
213 <Custom Action="ConfigureServer" After="ConfigureClient">&feaServer=3</Custom>
214 <!-- <Custom Action="RemoveAFSAdminGroup" Before="">&feaClient=2</Custom> -->
215 <Custom Action="RollbackAFSAdminGroup" Before="CreateAFSAdminGroup">&feaClient=3</Custom>
216 <Custom Action="CreateAFSAdminGroup" Before="CreateFolders">&feaClient=3</Custom>
217 <ScheduleReboot After="PublishProduct">&feaClient=3 OR &feaServer=3 OR &feaClient=2 OR &feaServer=2</ScheduleReboot>
218 </InstallExecuteSequence>
220 <!-- Related producs -->
221 <!-- MIT's OpenAFS MSI installer -->
222 <Upgrade Id="6823EEDD-84FC-4204-ABB3-A80D25779833">
223 <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="no" Maximum="$(var.NumericVersion)" MigrateFeatures="yes" Property="OPENAFS_UPGRADE" />
226 <!-- MIT's Transarc AFS MSI Installer -->
227 <Upgrade Id="5332B94F-DE38-4927-9EAB-51F4A64193A7">
228 <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="yes" Maximum="3.6.2" MigrateFeatures="no" Property="IBMAFS_UPGRADE" />
231 <!-- openafs.org NSIS installer is detected using other means -->
232 <!-- Please let us know if you want other Installers to be detected and upgraded/removed -->
235 <Media Id="1" Cabinet="disk1.cab" CompressionLevel="high" EmbedCab="yes" />