Home | History | Annotate | Line # | Download | only in installer
heimdal-installer.wxs revision 1.1.1.1.10.1
      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 (a] 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