libtommath: Fix possible integer overflow CVE-2023-36328
[heimdal.git] / packages / windows / installer / heimdal-installer.wxs
blob8ac6cc665fdb6e344e5df6618e525d5f7dfbbfb3
1 <?xml version='1.0' encoding='windows-1252'?>
2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
4 <?if $(var.Platform)=x64 ?>
6 <?define Win64=yes ?>
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 GuidHeimtools=F411A9F1-A186-40CB-B55B-CADBE0166268 ?>
19 <?define GuidKadmin=E628E9AA-43AB-47EE-8A01-815C027555F2 ?>
21 <?define ConfigDir=INSTALLDIR64 ?>
23 <?else?>
25 <?define Win64=no ?>
26 <?define PIProgramFilesFolder=ProgramFilesFolder ?>
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 ?>
40 <?define ConfigDir=INSTALLDIR32 ?>
42 <?endif?>
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)'>
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' />
58 <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
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?>
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?>
78 </Directory>
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>
93 <Merge Id='Heimdal.Assemblies.32' Language='0'
94 SourceFile='$(var.InstDir32)\Heimdal.msm' />
96 <Merge Id='Heimdal.GSS.32' Language='0'
97 SourceFile='$(var.InstDir32)\Heimdal.GSS.msm' />
99 <Merge Id='Heimdal.Policy.32' Language='0'
100 SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' />
102 <?if "$(var.RuntimeModule32)" != "" ?>
103 <Merge Id='Runtime.32' Language='0'
104 SourceFile='$(var.RuntimeModule32)' />
105 <?endif?>
106 </DirectoryRef>
107 <?endif?>
109 <?ifdef Target64?>
110 <DirectoryRef Id='dirBin64' DiskId='1'>
111 <Component Id='comp.SearchPath.64' Feature='feature.Main'
112 Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'>
113 <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
114 Key='Software\Heimdal\CurrentVersion'>
115 <RegistryValue Name='InstallPath' Type='string'
116 Value='[dirBin64]' KeyPath='yes' />
117 </RegistryKey>
118 <Environment Id='env.Path' Name='PATH' Action='set' Part='last'
119 Separator=';' Value='[dirBin64]' System='yes' />
120 </Component>
122 <Merge Id='Heimdal.Assemblies.64' Language='0'
123 SourceFile='$(var.InstDir64)\Heimdal.msm' />
125 <Merge Id='Heimdal.GSS.64' Language='0'
126 SourceFile='$(var.InstDir64)\Heimdal.GSS.msm' />
128 <Merge Id='Heimdal.Policy.64' Language='0'
129 SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' />
131 <?if "$(var.RuntimeModule64)" != "" ?>
132 <Merge Id='Runtime.64' Language='0'
133 SourceFile='$(var.RuntimeModule64)' />
134 <?endif?>
135 </DirectoryRef>
136 <?endif?>
138 <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'>
140 <Component Id='comp.kinit'
141 Guid='$(var.GuidKinit)'
142 Win64='$(var.Win64)'>
143 <File Name='kinit.exe' KeyPath='yes' />
144 <File Name='kinit.pdb' />
145 </Component>
147 <Component Id='comp.ktutil'
148 Guid='$(var.GuidKtutil)'
149 Win64='$(var.Win64)'>
150 <File Name='ktutil.exe' KeyPath='yes' />
151 <File Name='ktutil.pdb' />
152 </Component>
154 <Component Id='comp.kdestroy'
155 Guid='$(var.GuidKdestroy)'
156 Win64='$(var.Win64)'>
157 <File Name='kdestroy.exe' KeyPath='yes' />
158 <File Name='kdestroy.pdb' />
159 </Component>
161 <Component Id='comp.kdigest'
162 Guid='$(var.GuidKdigest)'
163 Win64='$(var.Win64)'>
164 <File Name='kdigest.exe' KeyPath='yes' />
165 <File Name='kdigest.pdb' />
166 </Component>
168 <Component Id='comp.kpasswd'
169 Guid='$(var.GuidKpasswd)'
170 Win64='$(var.Win64)'>
171 <File Name='kpasswd.exe' KeyPath='yes' />
172 <File Name='kpasswd.pdb' />
173 </Component>
175 <Component Id='comp.kvno'
176 Guid='$(var.GuidKvno)'
177 Win64='$(var.Win64)'>
178 <File Name='kvno.exe' KeyPath='yes' />
179 <File Name='kvno.pdb' />
180 </Component>
182 <Component Id='comp.kcpytkt'
183 Guid='$(var.GuidKcpytkt)'
184 Win64='$(var.Win64)'>
185 <File Name='kcpytkt.exe' KeyPath='yes' />
186 <File Name='kcpytkt.pdb' />
187 </Component>
189 <Component Id='comp.kdeltkt'
190 Guid='$(var.GuidKdeltkt)'
191 Win64='$(var.Win64)'>
192 <File Name='kdeltkt.exe' KeyPath='yes' />
193 <File Name='kdeltkt.pdb' />
194 </Component>
196 <Component Id='comp.heimtools'
197 Guid='$(var.GuidHeimtools)'
198 Win64='$(var.Win64)'>
199 <File Name='heimtools.exe' KeyPath='yes'>
200 <CopyFile Id='klist.exe' DestinationName='klist.exe' DestinationProperty='$(var.ToolsBinDir)' />
201 <CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' DestinationProperty='$(var.ToolsBinDir)' />
202 </File>
203 <File Name='heimtools.pdb'>
204 <CopyFile Id='klist.pdb' DestinationName='klist.pdb' />
205 <CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' />
206 </File>
207 </Component>
209 <Component Id='comp.kadmin'
210 Guid='$(var.GuidKadmin)'
211 Win64='$(var.Win64)'>
212 <File Name='kadmin.exe' KeyPath='yes' />
213 <File Name='kadmin.pdb' />
214 </Component>
216 <Component Id='comp.Heimdal.chm'
217 Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
218 <File Source='$(var.DocDir)\heimdal.chm' />
219 </Component>
221 <Component Id='comp.HX509.chm'
222 Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'>
223 <File Source='$(var.DocDir)\hx509.chm' />
224 </Component>
226 </DirectoryRef>
228 <DirectoryRef Id='TARGETDIR'>
229 <Directory Id='CommonAppDataFolder' Name='ProgramData'>
230 <Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'>
232 <Component Id='comp.krb5.conf'
233 Guid='ED28951F-7B17-4DF5-91D7-4DC11C810E66'
234 Permanent='yes' NeverOverwrite='yes'>
235 <File Name='krb5.conf' KeyPath='yes' Id='krb5_conf' />
236 <Environment Id='KRB5_CONFIG_by_krb5.conf' Name='KRB5_CONFIG' Action='set' System='yes' Value='[#krb5_conf]' />
237 <!-- Backwards compatibility -->
238 <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
239 Key='Software\MIT\Kerberos'>
240 <RegistryValue Name='config' Type='string' Value='[#krb_conf]' />
241 </RegistryKey>
242 <Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64</Condition>
243 </Component>
245 <Component Id='comp.krb5.ini.move'
246 Guid='316CB754-4332-4C02-95C1-4AC82590712D'>
247 <CopyFile Id='copy_krb5.ini' Delete='yes'
248 DestinationDirectory='dirCommonKerberos'
249 DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
250 SourceProperty='LEGACYKRB5INI' />
251 <Environment Id='KRB5_CONFIG_by_legacy_krb5.ini' Name='KRB5_CONFIG'
252 Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
253 <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
254 Key='Software\Heimdal\CurrentVersion'>
255 <RegistryValue Name='LegacyKrb5IniLocation' Type='string'
256 Value='[LEGACYKRB5INI]' KeyPath='yes' />
257 </RegistryKey>
258 <!-- Backwards compatibility -->
259 <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
260 Key='Software\MIT\Kerberos'>
261 <RegistryValue Name='config' Type='string'
262 Value='[dirCommonKerberos]krb5.conf' />
263 </RegistryKey>
264 <Condition>LEGACYKRB5INI</Condition>
265 </Component>
267 <Component Id='comp.krb5.conf.move'
268 Guid='ADCE6801-0FD3-46E7-955A-FC9214CFE0AB'>
269 <CopyFile Id='copy_krb5.conf' Delete='yes'
270 DestinationDirectory='dirCommonKerberos'
271 DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
272 SourceProperty='LEGACYKRB5CONF' />
273 <Environment Id='KRB5_CONFIG_by_legacy_krb5.conf' Name='KRB5_CONFIG'
274 Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
275 <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
276 Key='Software\Heimdal\CurrentVersion'>
277 <RegistryValue Name='LegacyKrb5ConfLocation' Type='string'
278 Value='[LEGACYKRB5CONF]' KeyPath='yes' />
279 </RegistryKey>
280 <!-- Backwards compatibility -->
281 <RegistryKey ForceDeleteOnUninstall='yes' Root='HKLM'
282 Key='Software\MIT\Kerberos'>
283 <RegistryValue Name='config' Type='string'
284 Value='[dirCommonKerberos]krb5.conf' />
285 </RegistryKey>
286 <Condition>LEGACYKRB5CONF</Condition>
287 </Component>
289 </Directory>
290 </Directory>
291 <Directory Id='WindowsFolder'>
292 </Directory>
293 </DirectoryRef>
295 <Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' />
297 <Upgrade Id='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'>
298 <UpgradeVersion IncludeMaximum='no' MigrateFeatures='yes' Maximum='$(var.Version)'
299 Property='PREVIOUSINSTALLATION' />
300 <UpgradeVersion Minimum='$(var.Version)' IncludeMinimum='yes'
301 Maximum='127.127.32767.32767'
302 OnlyDetect='yes' Property='EXISTINGINSTALLATION' />
303 </Upgrade>
305 <!-- Search for existing configuration files -->
307 <Property Id='LEGACYKRB5INI' Secure='yes'>
308 <DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'>
309 <FileSearch Name='krb5.ini' />
310 </DirectorySearch>
311 </Property>
313 <Property Id='LEGACYKRB5CONF' Secure='yes'>
314 <DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'>
315 <FileSearch Name='krb5.conf' />
316 </DirectorySearch>
317 </Property>
319 <Property Id='LEGACYKRB5REG32' Secure='yes'>
320 <RegistrySearch Id='regSearchKrb5ConfUser' Key='Software\MIT\Kerberos' Name='config'
321 Root='HKLM' Type='file' Win64='no'>
322 <FileSearch Name='krb5.ini' />
323 </RegistrySearch>
324 </Property>
326 <?if $(var.Platform)=x64 ?>
327 <Property Id='LEGACYKRB5REG64' Secure='yes'>
328 <RegistrySearch Id='regSearchKrb5ConfMach' Key='Software\MIT\Kerberos' Name='config'
329 Root='HKLM' Type='file' Win64='yes'>
330 <FileSearch Name='krb5.ini' />
331 </RegistrySearch>
332 </Property>
333 <?endif?>
335 <InstallExecuteSequence>
336 <RemoveExistingProducts After='InstallFinalize' />
337 </InstallExecuteSequence>
339 <Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition>
340 <Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition>
342 <Feature Id='feature.Main' ConfigurableDirectory='$(var.ConfigDir)'
343 Title='!(loc.FeaMainTitle)'
344 Description='!(loc.FeaMainDesc)' Display='expand'
345 Level='1' TypicalDefault='install' InstallDefault='local'>
347 <ComponentRef Id='comp.HX509.chm' />
348 <ComponentRef Id='comp.Heimdal.chm' />
349 <ComponentRef Id='comp.kcpytkt' />
350 <ComponentRef Id='comp.kdeltkt' />
351 <ComponentRef Id='comp.kdestroy' />
352 <ComponentRef Id='comp.kdigest' />
353 <ComponentRef Id='comp.kinit' />
354 <ComponentRef Id='comp.kpasswd' />
355 <ComponentRef Id='comp.krb5.conf' />
356 <ComponentRef Id='comp.krb5.conf.move' />
357 <ComponentRef Id='comp.krb5.ini.move' />
358 <ComponentRef Id='comp.ktutil' />
359 <ComponentRef Id='comp.kvno' />
360 <ComponentRef Id='comp.heimtools' />
361 <ComponentRef Id='comp.kadmin' />
363 <?ifdef MKShim ?>
364 <?ifdef Target64?>
365 <ComponentGroupRef Id='comp.Heimdal.MKShim.64' />
366 <?else?>
367 <ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
368 <?endif?>
369 <?endif?>
371 <?ifdef Target64?>
372 <MergeRef Id='Heimdal.Assemblies.64' />
373 <MergeRef Id='Heimdal.GSS.64' />
374 <MergeRef Id='Heimdal.Policy.64' />
375 <?if "$(var.RuntimeModule64)" != "" ?><MergeRef Id='Runtime.64' /><?endif?>
376 <?else?>
377 <MergeRef Id='Heimdal.Assemblies.32' />
378 <MergeRef Id='Heimdal.GSS.32' />
379 <MergeRef Id='Heimdal.Policy.32' />
380 <?if "$(var.RuntimeModule32)" != "" ?><MergeRef Id='Runtime.32' /><?endif?>
381 <?endif?>
383 <?ifdef Target32?>
384 <?ifdef Target64?>
385 <!-- If we are building the combined installer, the 32-bit
386 libraries go into a separate feature. -->
387 <Feature Id='feature.32BitLibraries'
388 ConfigurableDirectory='INSTALLDIR32'
389 Title='!(loc.Fea32BitTitle)'
390 Description='!(loc.Fea32BitDesc)'
391 Level='1' TypicalDefault='install' InstallDefault='local'>
392 <?ifdef MKShim ?>
393 <ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
394 <?endif?>
395 <MergeRef Id='Heimdal.Assemblies.32' />
396 <MergeRef Id='Heimdal.GSS.32' />
397 <MergeRef Id='Heimdal.Policy.32' />
398 <?if "$(var.RuntimeModule32)" != "" ?><MergeRef Id='Runtime.32' /><?endif?>
399 </Feature>
400 <?endif?>
401 <?endif?>
403 </Feature>
405 <!-- Properties for Add/Remove Programs -->
407 <Property Id='ARPHELPLINK' Value='http://www.h5l.org' />
409 <Property Id='ARPCONTACT' Value='heimdal@h5l.org' />
411 <Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org' />
413 <!-- Other properties -->
415 <UIRef Id='WixUI_FeatureTree' />
417 <WixVariable Id="WixUIBannerBmp" Value="images\Heimdal_banner.bmp" />
418 <WixVariable Id="WixUIDialogBmp" Value="images\Heimdal_dialog.bmp" />
420 </Product>
421 </Wix>