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 GuidKcc=F411A9F1-A186-40CB-B55B-CADBE0166268 ?> 19 20 <?define ConfigDir=INSTALLDIR64 ?> 21 22 <?else?> 23 24 <?define Win64=no ?> 25 <?define PIProgramFilesFolder=ProgramFilesFolder ?> 26 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 ?> 37 38 <?define ConfigDir=INSTALLDIR32 ?> 39 40 <?endif?> 41 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)'> 46 47 <Package Id='*' Description='!(loc.Description)' 48 Manufacturer='!(loc.Manufacturer)' 49 InstallerVersion='300' Languages='!(loc.LanguageCode)' 50 Compressed='yes' SummaryCodepage='1252' /> 51 52 <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'> 53 54 <?ifdef Target32 ?> 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'> 60 </Directory> 61 </Directory> 62 </Directory> 63 </Directory> 64 </Directory> 65 <?endif?> 66 67 <?ifdef Target64?> 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'> 73 </Directory> 74 </Directory> 75 </Directory> 76 </Directory> 77 </Directory> 78 <?endif?> 79 80 </Directory> 81 82 <?ifdef Target32?> 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' /> 90 </RegistryKey> 91 <Environment Id='env.Path.32' Name='PATH' Action='set' Part='last' 92 Separator=';' Value='[dirBin32]' System='yes' /> 93 </Component> 94 95 <Merge Id='Heimdal.Assemblies.32' Language='0' 96 SourceFile='$(var.InstDir32)\Heimdal.msm' /> 97 98 <Merge Id='Heimdal.Policy.32' Language='0' 99 SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' /> 100 101 <Merge Id='Runtime.32' Language='0' 102 SourceFile='$(var.RuntimeModule32)' /> 103 104 </DirectoryRef> 105 <?endif?> 106 107 <?ifdef Target64?> 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' /> 115 </RegistryKey> 116 <Environment Id='env.Path' Name='PATH' Action='set' Part='last' 117 Separator=';' Value='[dirBin64]' System='yes' /> 118 </Component> 119 120 <Merge Id='Heimdal.Assemblies.64' Language='0' 121 SourceFile='$(var.InstDir64)\Heimdal.msm' /> 122 123 <Merge Id='Heimdal.Policy.64' Language='0' 124 SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' /> 125 126 <Merge Id='Runtime.64' Language='0' 127 SourceFile='$(var.RuntimeModule64)' /> 128 129 </DirectoryRef> 130 <?endif?> 131 132 <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'> 133 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' /> 139 </Component> 140 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' /> 146 </Component> 147 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' /> 153 </Component> 154 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' /> 160 </Component> 161 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' /> 167 </Component> 168 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' /> 174 </Component> 175 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' /> 181 </Component> 182 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' /> 188 </Component> 189 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)' /> 196 </File> 197 <File Name='kcc.pdb'> 198 <CopyFile Id='klist.pdb' DestinationName='klist.pdb' /> 199 <CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' /> 200 </File> 201 </Component> 202 203 <Component Id='comp.Heimdal.chm' 204 Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'> 205 <File Source='$(var.DocDir)\heimdal.chm' /> 206 </Component> 207 208 <Component Id='comp.HX509.chm' 209 Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'> 210 <File Source='$(var.DocDir)\hx509.chm' /> 211 </Component> 212 213 </DirectoryRef> 214 215 <?ifdef Target32?> 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' /> 223 </RegistryKey> 224 </Component> 225 </DirectoryRef> 226 <?endif?> 227 228 <?ifdef Target64?> 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' /> 236 </RegistryKey> 237 </Component> 238 </DirectoryRef> 239 <?endif?> 240 241 <DirectoryRef Id='TARGETDIR'> 242 <Directory Id='CommonAppDataFolder' Name='ProgramData'> 243 <Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'> 244 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]' /> 254 </RegistryKey> 255 <Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64</Condition> 256 </Component> 257 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' /> 270 </RegistryKey> 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' /> 276 </RegistryKey> 277 <Condition>LEGACYKRB5INI</Condition> 278 </Component> 279 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' /> 292 </RegistryKey> 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' /> 298 </RegistryKey> 299 <Condition>LEGACYKRB5CONF</Condition> 300 </Component> 301 302 </Directory> 303 </Directory> 304 <Directory Id='WindowsFolder'> 305 </Directory> 306 </DirectoryRef> 307 308 <Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' /> 309 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' /> 316 </Upgrade> 317 318 <!-- Search for existing configuration files --> 319 320 <Property Id='LEGACYKRB5INI' Secure='yes'> 321 <DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'> 322 <FileSearch Name='krb5.ini' /> 323 </DirectorySearch> 324 </Property> 325 326 <Property Id='LEGACYKRB5CONF' Secure='yes'> 327 <DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'> 328 <FileSearch Name='krb5.conf' /> 329 </DirectorySearch> 330 </Property> 331 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' /> 336 </RegistrySearch> 337 </Property> 338 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' /> 344 </RegistrySearch> 345 </Property> 346 <?endif?> 347 348 <InstallExecuteSequence> 349 <RemoveExistingProducts After='InstallFinalize' /> 350 </InstallExecuteSequence> 351 352 <Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition> 353 <Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition> 354 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'> 359 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' /> 374 375 <?ifdef LsaCache ?> 376 <?ifdef Target64?> 377 <ComponentGroupRef Id='comps.LSACache.64' /> 378 <?else?> 379 <ComponentGroupRef Id='comps.LSACache.32' /> 380 <?endif?> 381 <?endif?> 382 383 <?ifdef ApiCache ?> 384 <?ifdef Target64?> 385 <ComponentGroupRef Id='comps.APICache.64' /> 386 <?else?> 387 <ComponentGroupRef Id='comps.APICache.32' /> 388 <?endif?> 389 <?endif?> 390 391 <?ifdef MKShim ?> 392 <?ifdef Target64?> 393 <ComponentGroupRef Id='comp.Heimdal.MKShim.64' /> 394 <?else?> 395 <ComponentGroupRef Id='comp.Heimdal.MKShim.32' /> 396 <?endif?> 397 <?endif?> 398 399 <?ifdef Target64?> 400 <MergeRef Id='Heimdal.Assemblies.64' /> 401 <MergeRef Id='Heimdal.Policy.64' /> 402 <MergeRef Id='Runtime.64' /> 403 <?else?> 404 <MergeRef Id='Heimdal.Assemblies.32' /> 405 <MergeRef Id='Heimdal.Policy.32' /> 406 <MergeRef Id='Runtime.32' /> 407 <?endif?> 408 409 <?ifdef Target32?> 410 <?ifdef Target64?> 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'> 418 <?ifdef LsaCache ?> 419 <ComponentGroupRef Id='comps.LSACache.32' /> 420 <?endif?> 421 <?ifdef ApiCache ?> 422 <ComponentGroupRef Id='comps.APICache.32' /> 423 <?endif?> 424 <?ifdef MKShim ?> 425 <ComponentGroupRef Id='comp.Heimdal.MKShim.32' /> 426 <?endif?> 427 <MergeRef Id='Heimdal.Assemblies.32' /> 428 <MergeRef Id='Heimdal.Policy.32' /> 429 <MergeRef Id='Runtime.32' /> 430 </Feature> 431 <?endif?> 432 <?endif?> 433 434 </Feature> 435 436 <!-- Properties for Add/Remove Programs --> 437 438 <Property Id='ARPHELPLINK' Value='http://www.h5l.org' /> 439 440 <Property Id='ARPCONTACT' Value='heimdal@h5l.org' /> 441 442 <Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org' /> 443 444 <!-- Other properties --> 445 446 <Property Id='ALLUSERS' Value='1' Secure='yes' /> 447 448 <UIRef Id='WixUI_FeatureTree' /> 449 450 </Product> 451</Wix> 452