Files
heimdal/packages/windows/installer/heimdal-installer.wxs
2010-11-24 15:33:00 -05:00

346 lines
14 KiB
XML

<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<?if $(var.Platform)=x64 ?>
<?define Win64=yes ?>
<?define PIProgramFilesFolder=ProgramFiles64Folder ?>
<?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?>
<?define GuidKlist=60E82A9D-2CD4-4DE5-8DCA-F3A010BE8A19 ?>
<?define GuidKswitch=7320C75F-80C5-4AA3-B133-2AB7F496B291 ?>
<?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
<?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
<?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?>
<?define GuidPolGSSAPI=2EB8472F-64DD-470B-AF65-FC8AAC185788 ?>
<?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?>
<?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?>
<?else?>
<?define Win64=no ?>
<?define PIProgramFilesFolder=ProgramFilesFolder ?>
<?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?>
<?define GuidKlist=36BF8C4E-B0C4-42AF-9F3F-3D6F8CFEBB49 ?>
<?define GuidKswitch=3A4438E7-BBC0-47B4-9146-E0CDCBBE6C86 ?>
<?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
<?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
<?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?>
<?define GuidPolGSSAPI=7B7D6813-8D9C-4647-8966-89A1CA24A08B ?>
<?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?>
<?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?>
<?endif?>
<Product Name='!(loc.ProductName) $(var.Version)'
Id='*' UpgradeCode='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'
Language='!(loc.LanguageCode)' Codepage='1252' Version='$(var.Version)'
Manufacturer='!(loc.Manufacturer)'>
<Package Id='*' Description='!(loc.Description)'
Manufacturer='!(loc.Manufacturer)'
InstallerVersion='300' Languages='!(loc.LanguageCode)'
Compressed='yes' SummaryCodepage='1252' />
<Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
<Directory Id='$(var.PIProgramFilesFolder)' Name='PFiles'>
<Directory Id='INSTALLDIR' Name='Heimdal'>
<Directory Id='dirBin' Name='bin' FileSource='$(var.BinDir)'>
<Component Id='comp.SearchPath'
Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='$(var.Win64)'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='InstallPath' Type='string'
Value='[dirBin]' KeyPath='yes' />
</RegistryKey>
<Environment Id='env.Path' Name='PATH' Action='set' Part='last'
Separator=';' Value='[dirBin]' System='yes' />
</Component>
<Component Id='comp.kinit'
Guid='$(var.GuidKinit)'
Win64='$(var.Win64)'>
<File Name='kinit.exe' KeyPath='yes' />
<File Name='kinit.pdb' />
</Component>
<Component Id='comp.klist'
Guid='$(var.GuidKlist)'
Win64='$(var.Win64)'>
<File Name='klist.exe' KeyPath='yes' />
<File Name='klist.pdb' />
</Component>
<Component Id='comp.kswitch'
Guid='$(var.GuidKswitch)'
Win64='$(var.Win64)'>
<File Name='kswitch.exe' KeyPath='yes' />
<File Name='kswitch.pdb' />
</Component>
<Component Id='comp.ktutil'
Guid='$(var.GuidKtutil)'
Win64='$(var.Win64)'>
<File Name='ktutil.exe' KeyPath='yes' />
<File Name='ktutil.pdb' />
</Component>
<Component Id='comp.kdestroy'
Guid='$(var.GuidKdestroy)'
Win64='$(var.Win64)'>
<File Name='kdestroy.exe' KeyPath='yes' />
<File Name='kdestroy.pdb' />
</Component>
<Component Id='comp.kdigest'
Guid='$(var.GuidKdigest)'
Win64='$(var.Win64)'>
<File Name='kdigest.exe' KeyPath='yes' />
<File Name='kdigest.pdb' />
</Component>
<Component Id='comp.kpasswd'
Guid='$(var.GuidKpasswd)'
Win64='$(var.Win64)'>
<File Name='kpasswd.exe' KeyPath='yes' />
<File Name='kpasswd.pdb' />
</Component>
<Merge Id='Heimdal.Assemblies' Language='0'
SourceFile='$(var.InstDir)\Heimdal.msm' />
<Merge Id='Runtime' Language='0'
SourceFile='$(var.RuntimeModule)' />
<?ifdef KrbCompat?>
<Merge Id='Heimdal.Compatibility' Language='0'
SourceFile='$(var.InstDir)\Heimdal-krbcompat.msm' />
<?endif?>
<!--
Publisher Configuration
The publisher configuration files are included in the
Heimdal installers, but not included in the Heimdal
assemblies.
-->
<Directory Id='dir.policy.Heimdal.Kerberos'
Name='$(var.PolPrefix).Heimdal.Kerberos'
FileSource='$(var.BinDir)\$(var.PolPrefix).Heimdal.Kerberos'>
<Component Id='comp.policy.Heimdal.Kerberos'
Guid='$(var.GuidPolKerberos)'
Win64='$(var.Win64)'>
<File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32'
Id='policy.GSSAPI' AssemblyManifest='policy.GSSAPI' />
<File Name='$(var.Version).cat' Id='policy.GSSAPI.cat' />
</Component>
</Directory>
<Directory Id='dirPlugin' Name='plugin'>
<Directory Id='PLUGINDIR' Name='krb5'>
<Component Id='comp.Plugin.Reg'
Guid='4BC44234-70A4-4CC1-A5AF-4CA76E9F9487'>
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Kerberos'>
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
Value='"[PLUGINDIR]"' KeyPath='yes' />
</RegistryKey>
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id='dirDoc' Name='doc' FileSource='$(var.DocDir)'>
<Component Id='comp.Heimdal.chm'
Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
<File Name='heimdal.chm' />
</Component>
<Component Id='comp.HX509.chm'
Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'>
<File Name='hx509.chm' />
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id='CommonAppDataFolder' Name='ProgramData'>
<Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'>
<Component Id='comp.krb5.conf'
Guid='ED28951F-7B17-4DF5-91D7-4DC11C810E66'
Permanent='yes' NeverOverwrite='yes'>
<File Name='krb5.conf' KeyPath='yes' Id='krb5_conf' />
<Environment Id='KRB5_CONFIG_by_krb5.conf' Name='KRB5_CONFIG' Action='set' System='yes' Value='[#krb5_conf]' />
<!-- Backwards compatibility -->
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\MIT\Kerberos'>
<RegistryValue Name='config' Type='string' Value='[#krb_conf]' />
</RegistryKey>
<Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64</Condition>
</Component>
<Component Id='comp.krb5.ini.move'
Guid='316CB754-4332-4C02-95C1-4AC82590712D'>
<CopyFile Id='copy_krb5.ini' Delete='yes'
DestinationDirectory='dirCommonKerberos'
DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
SourceProperty='LEGACYKRB5INI' />
<Environment Id='KRB5_CONFIG_by_legacy_krb5.ini' Name='KRB5_CONFIG'
Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='LegacyKrb5IniLocation' Type='string'
Value='[LEGACYKRB5INI]' KeyPath='yes' />
</RegistryKey>
<!-- Backwards compatibility -->
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\MIT\Kerberos'>
<RegistryValue Name='config' Type='string'
Value='[dirCommonKerberos]krb5.conf' />
</RegistryKey>
<Condition>LEGACYKRB5INI</Condition>
</Component>
<Component Id='comp.krb5.conf.move'
Guid='ADCE6801-0FD3-46E7-955A-FC9214CFE0AB'>
<CopyFile Id='copy_krb5.conf' Delete='yes'
DestinationDirectory='dirCommonKerberos'
DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
SourceProperty='LEGACYKRB5CONF' />
<Environment Id='KRB5_CONFIG_by_legacy_krb5.conf' Name='KRB5_CONFIG'
Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='LegacyKrb5ConfLocation' Type='string'
Value='[LEGACYKRB5CONF]' KeyPath='yes' />
</RegistryKey>
<!-- Backwards compatibility -->
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
Key='Software\MIT\Kerberos'>
<RegistryValue Name='config' Type='string'
Value='[dirCommonKerberos]krb5.conf' />
</RegistryKey>
<Condition>LEGACYKRB5CONF</Condition>
</Component>
</Directory>
</Directory>
<Directory Id='WindowsFolder'>
</Directory>
</Directory>
<Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' />
<Upgrade Id='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'>
<UpgradeVersion IncludeMaximum='no' MigrateFeatures='yes' Maximum='$(var.Version)'
Property='PREVIOUSINSTALLATION' />
<UpgradeVersion Minimum='$(var.Version)' IncludeMinimum='yes'
Maximum='127.127.32767.32767'
OnlyDetect='yes' Property='EXISTINGINSTALLATION' />
</Upgrade>
<!-- Search for existing configuration files -->
<Property Id='LEGACYKRB5INI' Secure='yes'>
<DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'>
<FileSearch Name='krb5.ini' />
</DirectorySearch>
</Property>
<Property Id='LEGACYKRB5CONF' Secure='yes'>
<DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'>
<FileSearch Name='krb5.conf' />
</DirectorySearch>
</Property>
<Property Id='LEGACYKRB5REG32' Secure='yes'>
<RegistrySearch Id='regSearchKrb5ConfUser' Key='Software\MIT\Kerberos' Name='config'
Root='HKLM' Type='file' Win64='no'>
<FileSearch Name='krb5.ini' />
</RegistrySearch>
</Property>
<?if $(var.Platform)=x64 ?>
<Property Id='LEGACYKRB5REG64' Secure='yes'>
<RegistrySearch Id='regSearchKrb5ConfMach' Key='Software\MIT\Kerberos' Name='config'
Root='HKLM' Type='file' Win64='yes'>
<FileSearch Name='krb5.ini' />
</RegistrySearch>
</Property>
<?endif?>
<InstallExecuteSequence>
<RemoveExistingProducts After='InstallFinalize' />
</InstallExecuteSequence>
<Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition>
<Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition>
<Feature Id='feature.Main' ConfigurableDirectory='INSTALLDIR'
Title='!(loc.FeaMainTitle)'
Description='!(loc.FeaMainDesc)'
Level='1' TypicalDefault='install' InstallDefault='local'>
<ComponentRef Id='comp.HX509.chm' />
<ComponentRef Id='comp.Heimdal.chm' />
<ComponentRef Id='comp.SearchPath' />
<ComponentRef Id='comp.kdestroy' />
<ComponentRef Id='comp.kdigest' />
<ComponentRef Id='comp.kinit' />
<ComponentRef Id='comp.klist' />
<ComponentRef Id='comp.kpasswd' />
<ComponentRef Id='comp.krb5.conf' />
<ComponentRef Id='comp.krb5.conf.move' />
<ComponentRef Id='comp.krb5.ini.move' />
<ComponentRef Id='comp.kswitch' />
<ComponentRef Id='comp.ktutil' />
<?ifdef LsaCache ?>
<ComponentGroupRef Id='comps.LSACache' />
<?endif?>
<?ifdef ApiCache ?>
<ComponentGroupRef Id='comps.APICache' />
<?endif?>
<ComponentRef Id='comp.Plugin.Reg' />
<ComponentRef Id='comp.policy.Heimdal.Kerberos' />
<MergeRef Id='Heimdal.Assemblies' />
<MergeRef Id='Runtime' />
<?ifdef Thirdparty ?>
<ComponentGroupRef Id='comp.Heimdal.Thirdparty' />
<?endif?>
<?ifdef MKShim ?>
<ComponentGroupRef Id='comp.Heimdal.MKShim' />
<?endif?>
</Feature>
<!-- Properties for Add/Remove Programs -->
<Property Id='ARPHELPLINK' Value='http://www.h5l.org' />
<Property Id='ARPCONTACT' Value='heimdal@h5l.org' />
<Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org' />
<!-- Other properties -->
<Property Id='ALLUSERS' Value='1' Secure='yes' />
<Property Id='WIXUI_INSTALLDIR' Value='INSTALLDIR' />
<UIRef Id='WixUI_InstallDir' />
</Product>
</Wix>