1 <?xml version='
1.0' encoding='windows-
1252'
?>
2 <Wix xmlns='http://schemas.microsoft.com/wix/
2006/wi'
>
4 <?if $(var.Platform)=x64
?>
7 <?define PIProgramFilesFolder=ProgramFiles64Folder
?>
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 GuidKcc=F411A9F1-A186-
40CB-B55B-CADBE0166268
?>
20 <?define ConfigDir=INSTALLDIR64
?>
25 <?define PIProgramFilesFolder=ProgramFilesFolder
?>
27 <?define ToolsBinDir=dirBin32
?>
28 <?define GuidKinit=
038F19D7-F7C9-
4B6A-
8359-
321CD1FAD347
?>
29 <?define GuidKdestroy=
07D96FBC-
2251-
4EBC-AA68-
12C6C52F44E6
?>
30 <?define GuidKtutil=CE082458-E2C5-
4744-A423-
88C23AD3C81C
?>
31 <?define GuidKdigest=
3FFBFAB0-FB37-
411C-AF4E-53BCC468D7D1
?>
32 <?define GuidKpasswd=B66C04B5-EE1D-
48C3-A25B-
4DCAAA8F459B
?>
33 <?define GuidKvno=
4C6015BE-
1347-
4D12-
8841-FF90E0B9D6A8
?>
34 <?define GuidKcpytkt=CBCDFC80-
601B-
4F26-A020-
7D1278735B95
?>
35 <?define GuidKdeltkt=
6450EE72-E472-
4709-B457-B579BFB2472B
?>
36 <?define GuidKcc=
11800964-
4A5F-
466E-B2FE-DD2EFC54DDB9
?>
38 <?define ConfigDir=INSTALLDIR32
?>
42 <Product Name='!(loc.ProductName) $(var.Version)'
43 Id='*' UpgradeCode='
81E64C32-
1D09-
4E3D-
9EA2-EECD9C4D16CE'
44 Language='!(loc.LanguageCode)' Codepage='
1252' Version='$(var.Version)'
45 Manufacturer='!(loc.Manufacturer)'
>
47 <Package Id='*' Description='!(loc.Description)'
48 Manufacturer='!(loc.Manufacturer)'
49 InstallerVersion='
300' Languages='!(loc.LanguageCode)'
50 Compressed='yes' SummaryCodepage='
1252'
/>
52 <Directory Id='TARGETDIR' Name='SourceDir' DiskId='
1'
>
55 <Directory Id='ProgramFilesFolder'
>
56 <Directory Id='INSTALLDIR32' Name='Heimdal'
>
57 <Directory Id='dirBin32' Name='bin'
>
58 <Directory Id='dirPlugin32' Name='plugin'
>
59 <Directory Id='PLUGINDIR32' Name='krb5'
>
68 <Directory Id='ProgramFiles64Folder'
>
69 <Directory Id='INSTALLDIR64' Name='Heimdal'
>
70 <Directory Id='dirBin64' Name='bin'
>
71 <Directory Id='dirPlugin64' Name='plugin'
>
72 <Directory Id='PLUGINDIR64' Name='krb5'
>
83 <DirectoryRef Id='dirBin32' DiskId='
1'
>
84 <Component Id='comp.SearchPath
.32' Feature='feature.Main'
85 Guid='BA6C1A53-E479-
4E87-
9B61-
7BA793DBAE56' Win64='no'
>
86 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
87 Key='Software\Heimdal\CurrentVersion'
>
88 <RegistryValue Name='InstallPath' Type='string'
89 Value='[dirBin32]' KeyPath='yes'
/>
91 <Environment Id='env.Path
.32' Name='PATH' Action='set' Part='last'
92 Separator=';' Value='[dirBin32]' System='yes'
/>
95 <Merge Id='Heimdal.Assemblies
.32' Language='
0'
96 SourceFile='$(var.InstDir32)\Heimdal.msm'
/>
98 <Merge Id='Heimdal.Policy
.32' Language='
0'
99 SourceFile='$(var.InstDir32)\Heimdal.Policy.msm'
/>
101 <Merge Id='Runtime
.32' Language='
0'
102 SourceFile='$(var.RuntimeModule32)'
/>
108 <DirectoryRef Id='dirBin64' DiskId='
1'
>
109 <Component Id='comp.SearchPath
.64' Feature='feature.Main'
110 Guid='
2F189729-
2253-
47A1-AA68-
06FE3A9697A7' Win64='yes'
>
111 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
112 Key='Software\Heimdal\CurrentVersion'
>
113 <RegistryValue Name='InstallPath' Type='string'
114 Value='[dirBin64]' KeyPath='yes'
/>
116 <Environment Id='env.Path' Name='PATH' Action='set' Part='last'
117 Separator=';' Value='[dirBin64]' System='yes'
/>
120 <Merge Id='Heimdal.Assemblies
.64' Language='
0'
121 SourceFile='$(var.InstDir64)\Heimdal.msm'
/>
123 <Merge Id='Heimdal.Policy
.64' Language='
0'
124 SourceFile='$(var.InstDir64)\Heimdal.Policy.msm'
/>
126 <Merge Id='Runtime
.64' Language='
0'
127 SourceFile='$(var.RuntimeModule64)'
/>
132 <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'
>
134 <Component Id='comp.kinit'
135 Guid='$(var.GuidKinit)'
136 Win64='$(var.Win64)'
>
137 <File Name='kinit.exe' KeyPath='yes'
/>
138 <File Name='kinit.pdb'
/>
141 <Component Id='comp.ktutil'
142 Guid='$(var.GuidKtutil)'
143 Win64='$(var.Win64)'
>
144 <File Name='ktutil.exe' KeyPath='yes'
/>
145 <File Name='ktutil.pdb'
/>
148 <Component Id='comp.kdestroy'
149 Guid='$(var.GuidKdestroy)'
150 Win64='$(var.Win64)'
>
151 <File Name='kdestroy.exe' KeyPath='yes'
/>
152 <File Name='kdestroy.pdb'
/>
155 <Component Id='comp.kdigest'
156 Guid='$(var.GuidKdigest)'
157 Win64='$(var.Win64)'
>
158 <File Name='kdigest.exe' KeyPath='yes'
/>
159 <File Name='kdigest.pdb'
/>
162 <Component Id='comp.kpasswd'
163 Guid='$(var.GuidKpasswd)'
164 Win64='$(var.Win64)'
>
165 <File Name='kpasswd.exe' KeyPath='yes'
/>
166 <File Name='kpasswd.pdb'
/>
169 <Component Id='comp.kvno'
170 Guid='$(var.GuidKvno)'
171 Win64='$(var.Win64)'
>
172 <File Name='kvno.exe' KeyPath='yes'
/>
173 <File Name='kvno.pdb'
/>
176 <Component Id='comp.kcpytkt'
177 Guid='$(var.GuidKcpytkt)'
178 Win64='$(var.Win64)'
>
179 <File Name='kcpytkt.exe' KeyPath='yes'
/>
180 <File Name='kcpytkt.pdb'
/>
183 <Component Id='comp.kdeltkt'
184 Guid='$(var.GuidKdeltkt)'
185 Win64='$(var.Win64)'
>
186 <File Name='kdeltkt.exe' KeyPath='yes'
/>
187 <File Name='kdeltkt.pdb'
/>
190 <Component Id='comp.kcc'
191 Guid='$(var.GuidKcc)'
192 Win64='$(var.Win64)'
>
193 <File Name='kcc.exe' KeyPath='yes'
>
194 <CopyFile Id='klist.exe' DestinationName='klist.exe' DestinationProperty='$(var.ToolsBinDir)'
/>
195 <CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' DestinationProperty='$(var.ToolsBinDir)'
/>
197 <File Name='kcc.pdb'
>
198 <CopyFile Id='klist.pdb' DestinationName='klist.pdb'
/>
199 <CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb'
/>
203 <Component Id='comp.Heimdal.chm'
204 Guid='
785F6668-EBDB-
4F18-
8BEF-F72ECECB43D6'
>
205 <File Source='$(var.DocDir)\heimdal.chm'
/>
208 <Component Id='comp.HX509.chm'
209 Guid='CBB379D6-
629D-
4EB9-AC0D-
0167651F14EF'
>
210 <File Source='$(var.DocDir)\hx509.chm'
/>
216 <DirectoryRef Id='PLUGINDIR32'
>
217 <Component Id='comp.Plugin.Reg
.32' Feature='feature.Main'
218 Guid='
4BC44234-
70A4-
4CC1-A5AF-
4CA76E9F9487' Win64='no'
>
219 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
220 Key='Software\Heimdal'
>
221 <RegistryValue Name='plugin_dir' Type='multiString' Action='append'
222 Value='
"[PLUGINDIR32]"' KeyPath='yes'
/>
229 <DirectoryRef Id='PLUGINDIR64'
>
230 <Component Id='comp.Plugin.Reg
.64' Feature='feature.Main'
231 Guid='
5A99A52E-A4CD-
40F8-AFFD-AD61939FC547' Win64='yes'
>
232 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
233 Key='Software\Heimdal'
>
234 <RegistryValue Name='plugin_dir' Type='multiString' Action='append'
235 Value='
"[PLUGINDIR64]"' KeyPath='yes'
/>
241 <DirectoryRef Id='TARGETDIR'
>
242 <Directory Id='CommonAppDataFolder' Name='ProgramData'
>
243 <Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'
>
245 <Component Id='comp.krb5.conf'
246 Guid='ED28951F-
7B17-
4DF5-
91D7-
4DC11C810E66'
247 Permanent='yes' NeverOverwrite='yes'
>
248 <File Name='krb5.conf' KeyPath='yes' Id='krb5_conf'
/>
249 <Environment Id='KRB5_CONFIG_by_krb5.conf' Name='KRB5_CONFIG' Action='set' System='yes' Value='[#krb5_conf]'
/>
250 <!-- Backwards compatibility -->
251 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
252 Key='Software\MIT\Kerberos'
>
253 <RegistryValue Name='config' Type='string' Value='[#krb_conf]'
/>
255 <Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64
</Condition>
258 <Component Id='comp.krb5.ini.move'
259 Guid='
316CB754-
4332-
4C02-
95C1-
4AC82590712D'
>
260 <CopyFile Id='copy_krb5.ini' Delete='yes'
261 DestinationDirectory='dirCommonKerberos'
262 DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
263 SourceProperty='LEGACYKRB5INI'
/>
264 <Environment Id='KRB5_CONFIG_by_legacy_krb5.ini' Name='KRB5_CONFIG'
265 Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf'
/>
266 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
267 Key='Software\Heimdal\CurrentVersion'
>
268 <RegistryValue Name='LegacyKrb5IniLocation' Type='string'
269 Value='[LEGACYKRB5INI]' KeyPath='yes'
/>
271 <!-- Backwards compatibility -->
272 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
273 Key='Software\MIT\Kerberos'
>
274 <RegistryValue Name='config' Type='string'
275 Value='[dirCommonKerberos]krb5.conf'
/>
277 <Condition>LEGACYKRB5INI
</Condition>
280 <Component Id='comp.krb5.conf.move'
281 Guid='ADCE6801-
0FD3-
46E7-
955A-FC9214CFE0AB'
>
282 <CopyFile Id='copy_krb5.conf' Delete='yes'
283 DestinationDirectory='dirCommonKerberos'
284 DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
285 SourceProperty='LEGACYKRB5CONF'
/>
286 <Environment Id='KRB5_CONFIG_by_legacy_krb5.conf' Name='KRB5_CONFIG'
287 Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf'
/>
288 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
289 Key='Software\Heimdal\CurrentVersion'
>
290 <RegistryValue Name='LegacyKrb5ConfLocation' Type='string'
291 Value='[LEGACYKRB5CONF]' KeyPath='yes'
/>
293 <!-- Backwards compatibility -->
294 <RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
295 Key='Software\MIT\Kerberos'
>
296 <RegistryValue Name='config' Type='string'
297 Value='[dirCommonKerberos]krb5.conf'
/>
299 <Condition>LEGACYKRB5CONF
</Condition>
304 <Directory Id='WindowsFolder'
>
308 <Media Id='
1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes'
/>
310 <Upgrade Id='
81E64C32-
1D09-
4E3D-
9EA2-EECD9C4D16CE'
>
311 <UpgradeVersion IncludeMaximum='no' MigrateFeatures='yes' Maximum='$(var.Version)'
312 Property='PREVIOUSINSTALLATION'
/>
313 <UpgradeVersion Minimum='$(var.Version)' IncludeMinimum='yes'
314 Maximum='
127.127.32767.32767'
315 OnlyDetect='yes' Property='EXISTINGINSTALLATION'
/>
318 <!-- Search for existing configuration files -->
320 <Property Id='LEGACYKRB5INI' Secure='yes'
>
321 <DirectorySearch Id='dirSearchKrb5Ini' Depth='
1' Path='[WindowsFolder]'
>
322 <FileSearch Name='krb5.ini'
/>
326 <Property Id='LEGACYKRB5CONF' Secure='yes'
>
327 <DirectorySearch Id='dirSearchKrb5Conf' Depth='
1' Path='[WindowsFolder]'
>
328 <FileSearch Name='krb5.conf'
/>
332 <Property Id='LEGACYKRB5REG32' Secure='yes'
>
333 <RegistrySearch Id='regSearchKrb5ConfUser' Key='Software\MIT\Kerberos' Name='config'
334 Root='HKLM' Type='file' Win64='no'
>
335 <FileSearch Name='krb5.ini'
/>
339 <?if $(var.Platform)=x64
?>
340 <Property Id='LEGACYKRB5REG64' Secure='yes'
>
341 <RegistrySearch Id='regSearchKrb5ConfMach' Key='Software\MIT\Kerberos' Name='config'
342 Root='HKLM' Type='file' Win64='yes'
>
343 <FileSearch Name='krb5.ini'
/>
348 <InstallExecuteSequence>
349 <RemoveExistingProducts After='InstallFinalize'
/>
350 </InstallExecuteSequence>
352 <Condition Message='!(loc.AdminRequired)'
>Installed OR Privileged
</Condition>
353 <Condition Message='!(loc.AlreadyInstalled)'
>Installed OR NOT EXISTINGINSTALLATION
</Condition>
355 <Feature Id='feature.Main' ConfigurableDirectory='$(var.ConfigDir)'
356 Title='!(loc.FeaMainTitle)'
357 Description='!(loc.FeaMainDesc)' Display='expand'
358 Level='
1' TypicalDefault='install' InstallDefault='local'
>
360 <ComponentRef Id='comp.HX509.chm'
/>
361 <ComponentRef Id='comp.Heimdal.chm'
/>
362 <ComponentRef Id='comp.kcpytkt'
/>
363 <ComponentRef Id='comp.kdeltkt'
/>
364 <ComponentRef Id='comp.kdestroy'
/>
365 <ComponentRef Id='comp.kdigest'
/>
366 <ComponentRef Id='comp.kinit'
/>
367 <ComponentRef Id='comp.kpasswd'
/>
368 <ComponentRef Id='comp.krb5.conf'
/>
369 <ComponentRef Id='comp.krb5.conf.move'
/>
370 <ComponentRef Id='comp.krb5.ini.move'
/>
371 <ComponentRef Id='comp.ktutil'
/>
372 <ComponentRef Id='comp.kvno'
/>
373 <ComponentRef Id='comp.kcc'
/>
377 <ComponentGroupRef Id='comps.LSACache
.64'
/>
379 <ComponentGroupRef Id='comps.LSACache
.32'
/>
385 <ComponentGroupRef Id='comps.APICache
.64'
/>
387 <ComponentGroupRef Id='comps.APICache
.32'
/>
393 <ComponentGroupRef Id='comp.Heimdal.MKShim
.64'
/>
395 <ComponentGroupRef Id='comp.Heimdal.MKShim
.32'
/>
400 <MergeRef Id='Heimdal.Assemblies
.64'
/>
401 <MergeRef Id='Heimdal.Policy
.64'
/>
402 <MergeRef Id='Runtime
.64'
/>
404 <MergeRef Id='Heimdal.Assemblies
.32'
/>
405 <MergeRef Id='Heimdal.Policy
.32'
/>
406 <MergeRef Id='Runtime
.32'
/>
411 <!-- If we are building the combined installer, the 32-bit
412 libraries go into a separate feature. -->
413 <Feature Id='feature
.32BitLibraries'
414 ConfigurableDirectory='INSTALLDIR32'
415 Title='!(loc.Fea32BitTitle)'
416 Description='!(loc.Fea32BitDesc)'
417 Level='
1' TypicalDefault='install' InstallDefault='local'
>
419 <ComponentGroupRef Id='comps.LSACache
.32'
/>
422 <ComponentGroupRef Id='comps.APICache
.32'
/>
425 <ComponentGroupRef Id='comp.Heimdal.MKShim
.32'
/>
427 <MergeRef Id='Heimdal.Assemblies
.32'
/>
428 <MergeRef Id='Heimdal.Policy
.32'
/>
429 <MergeRef Id='Runtime
.32'
/>
436 <!-- Properties for Add/Remove Programs -->
438 <Property Id='ARPHELPLINK' Value='http://www.h5l.org'
/>
440 <Property Id='ARPCONTACT' Value='heimdal@h5l.org'
/>
442 <Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org'
/>
444 <!-- Other properties -->
446 <Property Id='ALLUSERS' Value='
1' Secure='yes'
/>
448 <UIRef Id='WixUI_FeatureTree'
/>