s4:torture: Adapt KDC canon test to Heimdal upstream changes
[samba.git] / third_party / heimdal / packages / windows / installer / heimdal-installer.wxs
1 <?xml version='1.0' encoding='windows-1252'?>
2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
3
4   <?if $(var.Platform)=x64 ?>
5
6   <?define Win64=yes ?>
7   <?define PIProgramFilesFolder=ProgramFiles64Folder ?>
8
9   <?define ToolsBinDir=dirBin64 ?>
10   <?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?>
11   <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
12   <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
13   <?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?>
14   <?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?>
15   <?define GuidKvno=2B932C2B-9167-4051-BDF7-A104E9983CE6 ?>
16   <?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?>
17   <?define GuidKdeltkt=3E853905-8CDA-4E14-8EBA-C0C4EEDB811A ?>
18   <?define GuidHeimtools=F411A9F1-A186-40CB-B55B-CADBE0166268 ?>
19   <?define GuidKadmin=E628E9AA-43AB-47EE-8A01-815C027555F2 ?>
20
21   <?define ConfigDir=INSTALLDIR64 ?>
22
23   <?else?>
24
25   <?define Win64=no ?>
26   <?define PIProgramFilesFolder=ProgramFilesFolder ?>
27
28   <?define ToolsBinDir=dirBin32 ?>
29   <?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?>
30   <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
31   <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
32   <?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?>
33   <?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?>
34   <?define GuidKvno=4C6015BE-1347-4D12-8841-FF90E0B9D6A8 ?>
35   <?define GuidKcpytkt=CBCDFC80-601B-4F26-A020-7D1278735B95 ?>
36   <?define GuidKdeltkt=6450EE72-E472-4709-B457-B579BFB2472B ?>
37   <?define GuidHeimtools=11800964-4A5F-466E-B2FE-DD2EFC54DDB9 ?>
38   <?define GuidKadmin=B31F9FFC-D588-4A3E-9AEA-C9E9137B08F0 ?>
39
40   <?define ConfigDir=INSTALLDIR32 ?>
41
42   <?endif?>
43
44   <Product Name='!(loc.ProductName) $(var.Version)'
45            Id='*' UpgradeCode='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'
46            Language='!(loc.LanguageCode)' Codepage='1252' Version='$(var.Version)'
47            Manufacturer='!(loc.Manufacturer)'>
48
49     <Package Id='*' Description='!(loc.Description)'
50       Manufacturer='!(loc.Manufacturer)'
51       InstallerVersion='300' Languages='!(loc.LanguageCode)'
52       Compressed='yes' SummaryCodepage='1252'
53       Platform='$(var.Platform)'
54       InstallScope='perMachine'
55       InstallPrivileges='elevated'
56       Keywords='Heimdal,Kerberos,GSS' />
57
58     <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
59
60       <?ifdef Target32 ?>
61       <Directory Id='ProgramFilesFolder'>
62         <Directory Id='INSTALLDIR32' Name='Heimdal'>
63           <Directory Id='dirBin32' Name='bin'>
64           </Directory>
65         </Directory>
66       </Directory>
67       <?endif?>
68
69       <?ifdef Target64?>
70       <Directory Id='ProgramFiles64Folder'>
71         <Directory Id='INSTALLDIR64' Name='Heimdal'>
72           <Directory Id='dirBin64' Name='bin'>
73           </Directory>
74         </Directory>
75       </Directory>
76       <?endif?>
77
78     </Directory>
79
80     <?ifdef Target32?>
81     <DirectoryRef Id='dirBin32' DiskId='1'>
82       <Component Id='comp.SearchPath.32' Feature='feature.Main'
83                  Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='no'>
84         <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
85                      Key='Software\Heimdal\CurrentVersion'>
86           <RegistryValue Name='InstallPath' Type='string'
87                          Value='[dirBin32]' KeyPath='yes' />
88         </RegistryKey>
89         <Environment Id='env.Path.32' Name='PATH' Action='set' Part='last'
90                      Separator=';' Value='[dirBin32]' System='yes' />
91       </Component>
92
93       <Merge Id='Heimdal.Assemblies.32' Language='0'
94              SourceFile='$(var.InstDir32)\Heimdal.msm' />
95
96       <Merge Id='Heimdal.GSS.32' Language='0'
97              SourceFile='$(var.InstDir32)\Heimdal.GSS.msm' />
98
99       <Merge Id='Heimdal.Policy.32' Language='0'
100              SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' />
101
102       <Merge Id='Runtime.32' Language='0'
103              SourceFile='$(var.RuntimeModule32)' />
104
105     </DirectoryRef>
106     <?endif?>
107
108     <?ifdef Target64?>
109     <DirectoryRef Id='dirBin64' DiskId='1'>
110       <Component Id='comp.SearchPath.64' Feature='feature.Main'
111                  Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'>
112         <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
113                      Key='Software\Heimdal\CurrentVersion'>
114           <RegistryValue Name='InstallPath' Type='string'
115                          Value='[dirBin64]' KeyPath='yes' />
116         </RegistryKey>
117         <Environment Id='env.Path' Name='PATH' Action='set' Part='last'
118                      Separator=';' Value='[dirBin64]' System='yes' />
119       </Component>
120
121       <Merge Id='Heimdal.Assemblies.64' Language='0'
122              SourceFile='$(var.InstDir64)\Heimdal.msm' />
123
124       <Merge Id='Heimdal.GSS.64' Language='0'
125              SourceFile='$(var.InstDir64)\Heimdal.GSS.msm' />
126
127       <Merge Id='Heimdal.Policy.64' Language='0'
128              SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' />
129
130       <Merge Id='Runtime.64' Language='0'
131              SourceFile='$(var.RuntimeModule64)' />
132
133     </DirectoryRef>
134     <?endif?>
135
136     <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'>
137
138       <Component Id='comp.kinit'
139                  Guid='$(var.GuidKinit)'
140                  Win64='$(var.Win64)'>
141         <File Name='kinit.exe' KeyPath='yes' />
142         <File Name='kinit.pdb' />
143       </Component>
144
145       <Component Id='comp.ktutil'
146                  Guid='$(var.GuidKtutil)'
147                  Win64='$(var.Win64)'>
148         <File Name='ktutil.exe' KeyPath='yes' />
149         <File Name='ktutil.pdb' />
150       </Component>
151
152       <Component Id='comp.kdestroy'
153                  Guid='$(var.GuidKdestroy)'
154                  Win64='$(var.Win64)'>
155         <File Name='kdestroy.exe' KeyPath='yes' />
156         <File Name='kdestroy.pdb' />
157       </Component>
158
159       <Component Id='comp.kdigest'
160                  Guid='$(var.GuidKdigest)'
161                  Win64='$(var.Win64)'>
162         <File Name='kdigest.exe' KeyPath='yes' />
163         <File Name='kdigest.pdb' />
164       </Component>
165
166       <Component Id='comp.kpasswd'
167                  Guid='$(var.GuidKpasswd)'
168                  Win64='$(var.Win64)'>
169         <File Name='kpasswd.exe' KeyPath='yes' />
170         <File Name='kpasswd.pdb' />
171       </Component>
172
173       <Component Id='comp.kvno'
174                  Guid='$(var.GuidKvno)'
175                  Win64='$(var.Win64)'>
176         <File Name='kvno.exe' KeyPath='yes' />
177         <File Name='kvno.pdb' />
178       </Component>
179
180       <Component Id='comp.kcpytkt'
181                  Guid='$(var.GuidKcpytkt)'
182                  Win64='$(var.Win64)'>
183         <File Name='kcpytkt.exe' KeyPath='yes' />
184         <File Name='kcpytkt.pdb' />
185       </Component>
186
187       <Component Id='comp.kdeltkt'
188                  Guid='$(var.GuidKdeltkt)'
189                  Win64='$(var.Win64)'>
190         <File Name='kdeltkt.exe' KeyPath='yes' />
191         <File Name='kdeltkt.pdb' />
192       </Component>
193
194       <Component Id='comp.heimtools'
195                  Guid='$(var.GuidHeimtools)'
196                  Win64='$(var.Win64)'>
197         <File Name='heimtools.exe' KeyPath='yes'>
198           <CopyFile Id='klist.exe' DestinationName='klist.exe' DestinationProperty='$(var.ToolsBinDir)' />
199           <CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' DestinationProperty='$(var.ToolsBinDir)' />
200         </File>
201         <File Name='heimtools.pdb'>
202           <CopyFile Id='klist.pdb' DestinationName='klist.pdb' />
203           <CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' />
204         </File>
205       </Component>
206
207       <Component Id='comp.kadmin'
208                  Guid='$(var.GuidKadmin)'
209                  Win64='$(var.Win64)'>
210         <File Name='kadmin.exe' KeyPath='yes' />
211         <File Name='kadmin.pdb' />
212       </Component>
213
214       <Component Id='comp.Heimdal.chm'
215                  Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
216         <File Source='$(var.DocDir)\heimdal.chm' />
217       </Component>
218
219       <Component Id='comp.HX509.chm'
220                  Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'>
221         <File Source='$(var.DocDir)\hx509.chm' />
222       </Component>
223
224     </DirectoryRef>
225
226     <DirectoryRef Id='TARGETDIR'>
227       <Directory Id='CommonAppDataFolder' Name='ProgramData'>
228         <Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'>
229
230           <Component Id='comp.krb5.conf'
231                      Guid='ED28951F-7B17-4DF5-91D7-4DC11C810E66'
232                      Permanent='yes' NeverOverwrite='yes'>
233             <File Name='krb5.conf' KeyPath='yes' Id='krb5_conf' />
234             <Environment Id='KRB5_CONFIG_by_krb5.conf' Name='KRB5_CONFIG' Action='set' System='yes' Value='[#krb5_conf]' />
235             <!-- Backwards compatibility -->
236             <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
237                          Key='Software\MIT\Kerberos'>
238               <RegistryValue Name='config' Type='string' Value='[#krb_conf]' />
239             </RegistryKey>
240             <Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64</Condition>
241           </Component>
242
243           <Component Id='comp.krb5.ini.move'
244                      Guid='316CB754-4332-4C02-95C1-4AC82590712D'>
245             <CopyFile Id='copy_krb5.ini' Delete='yes'
246                       DestinationDirectory='dirCommonKerberos'
247                       DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
248                       SourceProperty='LEGACYKRB5INI' />
249             <Environment Id='KRB5_CONFIG_by_legacy_krb5.ini' Name='KRB5_CONFIG'
250                          Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
251             <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
252                          Key='Software\Heimdal\CurrentVersion'>
253               <RegistryValue Name='LegacyKrb5IniLocation' Type='string'
254                              Value='[LEGACYKRB5INI]' KeyPath='yes' />
255             </RegistryKey>
256             <!-- Backwards compatibility -->
257             <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
258                          Key='Software\MIT\Kerberos'>
259               <RegistryValue Name='config' Type='string'
260                              Value='[dirCommonKerberos]krb5.conf' />
261             </RegistryKey>
262             <Condition>LEGACYKRB5INI</Condition>
263           </Component>
264
265           <Component Id='comp.krb5.conf.move'
266                      Guid='ADCE6801-0FD3-46E7-955A-FC9214CFE0AB'>
267             <CopyFile Id='copy_krb5.conf' Delete='yes'
268                       DestinationDirectory='dirCommonKerberos'
269                       DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
270                       SourceProperty='LEGACYKRB5CONF' />
271             <Environment Id='KRB5_CONFIG_by_legacy_krb5.conf' Name='KRB5_CONFIG'
272                          Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
273             <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
274                          Key='Software\Heimdal\CurrentVersion'>
275             <RegistryValue Name='LegacyKrb5ConfLocation' Type='string'
276                              Value='[LEGACYKRB5CONF]' KeyPath='yes' />
277             </RegistryKey>
278             <!-- Backwards compatibility -->
279             <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
280                          Key='Software\MIT\Kerberos'>
281               <RegistryValue Name='config' Type='string'
282                              Value='[dirCommonKerberos]krb5.conf' />
283             </RegistryKey>
284             <Condition>LEGACYKRB5CONF</Condition>
285           </Component>
286
287         </Directory>
288       </Directory>
289       <Directory Id='WindowsFolder'>
290       </Directory>
291     </DirectoryRef>
292
293     <Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' />
294
295     <Upgrade Id='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'>
296       <UpgradeVersion IncludeMaximum='no' MigrateFeatures='yes' Maximum='$(var.Version)'
297                       Property='PREVIOUSINSTALLATION' />
298       <UpgradeVersion Minimum='$(var.Version)' IncludeMinimum='yes'
299                       Maximum='127.127.32767.32767'
300                       OnlyDetect='yes' Property='EXISTINGINSTALLATION' />
301     </Upgrade>
302
303     <!-- Search for existing configuration files -->
304
305     <Property Id='LEGACYKRB5INI' Secure='yes'>
306       <DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'>
307         <FileSearch Name='krb5.ini' />
308       </DirectorySearch>
309     </Property>
310
311     <Property Id='LEGACYKRB5CONF' Secure='yes'>
312       <DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'>
313         <FileSearch Name='krb5.conf' />
314       </DirectorySearch>
315     </Property>
316
317     <Property Id='LEGACYKRB5REG32' Secure='yes'>
318       <RegistrySearch Id='regSearchKrb5ConfUser' Key='Software\MIT\Kerberos' Name='config'
319                       Root='HKLM' Type='file' Win64='no'>
320         <FileSearch Name='krb5.ini' />
321       </RegistrySearch>
322     </Property>
323
324     <?if $(var.Platform)=x64 ?>
325     <Property Id='LEGACYKRB5REG64' Secure='yes'>
326       <RegistrySearch Id='regSearchKrb5ConfMach' Key='Software\MIT\Kerberos' Name='config'
327                       Root='HKLM' Type='file' Win64='yes'>
328         <FileSearch Name='krb5.ini' />
329       </RegistrySearch>
330     </Property>
331     <?endif?>
332
333     <InstallExecuteSequence>
334       <RemoveExistingProducts After='InstallFinalize' />
335     </InstallExecuteSequence>
336
337     <Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition>
338     <Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition>
339
340     <Feature Id='feature.Main' ConfigurableDirectory='$(var.ConfigDir)'
341              Title='!(loc.FeaMainTitle)'
342              Description='!(loc.FeaMainDesc)' Display='expand'
343              Level='1' TypicalDefault='install' InstallDefault='local'>
344
345       <ComponentRef Id='comp.HX509.chm' />
346       <ComponentRef Id='comp.Heimdal.chm' />
347       <ComponentRef Id='comp.kcpytkt' />
348       <ComponentRef Id='comp.kdeltkt' />
349       <ComponentRef Id='comp.kdestroy' />
350       <ComponentRef Id='comp.kdigest' />
351       <ComponentRef Id='comp.kinit' />
352       <ComponentRef Id='comp.kpasswd' />
353       <ComponentRef Id='comp.krb5.conf' />
354       <ComponentRef Id='comp.krb5.conf.move' />
355       <ComponentRef Id='comp.krb5.ini.move' />
356       <ComponentRef Id='comp.ktutil' />
357       <ComponentRef Id='comp.kvno' />
358       <ComponentRef Id='comp.heimtools' />
359       <ComponentRef Id='comp.kadmin' />
360
361       <?ifdef MKShim ?>
362       <?ifdef Target64?>
363       <ComponentGroupRef Id='comp.Heimdal.MKShim.64' />
364       <?else?>
365       <ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
366       <?endif?>
367       <?endif?>
368
369       <?ifdef Target64?>
370       <MergeRef Id='Heimdal.Assemblies.64' />
371       <MergeRef Id='Heimdal.GSS.64' />
372       <MergeRef Id='Heimdal.Policy.64' />
373       <MergeRef Id='Runtime.64' />
374       <?else?>
375       <MergeRef Id='Heimdal.Assemblies.32' />
376       <MergeRef Id='Heimdal.GSS.32' />
377       <MergeRef Id='Heimdal.Policy.32' />
378       <MergeRef Id='Runtime.32' />
379       <?endif?>
380
381       <?ifdef Target32?>
382       <?ifdef Target64?>
383       <!-- If we are building the combined installer, the 32-bit
384            libraries go into a separate feature. -->
385       <Feature Id='feature.32BitLibraries'
386                ConfigurableDirectory='INSTALLDIR32'
387                Title='!(loc.Fea32BitTitle)'
388                Description='!(loc.Fea32BitDesc)'
389                Level='1' TypicalDefault='install' InstallDefault='local'>
390         <?ifdef MKShim ?>
391         <ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
392         <?endif?>
393         <MergeRef Id='Heimdal.Assemblies.32' />
394         <MergeRef Id='Heimdal.GSS.32' />
395         <MergeRef Id='Heimdal.Policy.32' />
396         <MergeRef Id='Runtime.32' />
397       </Feature>
398       <?endif?>
399       <?endif?>
400
401     </Feature>
402
403     <!-- Properties for Add/Remove Programs -->
404
405     <Property Id='ARPHELPLINK' Value='http://www.h5l.org' />
406
407     <Property Id='ARPCONTACT' Value='heimdal@h5l.org' />
408
409     <Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org' />
410
411     <!-- Other properties -->
412
413     <UIRef Id='WixUI_FeatureTree' />
414
415     <WixVariable Id="WixUIBannerBmp" Value="images\Heimdal_banner.bmp" />
416     <WixVariable Id="WixUIDialogBmp" Value="images\Heimdal_dialog.bmp" />
417
418   </Product>
419 </Wix>