Home | History | Annotate | Line # | Download | only in installer
heimdal-installer.wxs revision 1.1.1.3.22.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 GuidHeimtools=F411A9F1-A186-40CB-B55B-CADBE0166268 ?>
     19   <?define GuidKadmin=E628E9AA-43AB-47EE-8A01-815C027555F2 ?>
     20 
     21   <?define ConfigDir=INSTALLDIR64 ?>
     22 
     23   <?else?>
     24 
     25   <?define Win64=no ?>
     26   <?define PIProgramFilesFolder=ProgramFilesFolder ?>
     27 
     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 ?>
     39 
     40   <?define ConfigDir=INSTALLDIR32 ?>
     41 
     42   <?endif?>
     43 
     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)'>
     48 
     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' />
     57 
     58     <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
     59 
     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?>
     68 
     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?>
     77 
     78     </Directory>
     79 
     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>
     92 
     93       <Merge Id='Heimdal.Assemblies.32' Language='0'
     94              SourceFile='$(var.InstDir32)\Heimdal.msm' />
     95 
     96       <Merge Id='Heimdal.GSS.32' Language='0'
     97 	     SourceFile='$(var.InstDir32)\Heimdal.GSS.msm' />
     98 
     99       <Merge Id='Heimdal.Policy.32' Language='0'
    100              SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' />
    101 
    102       <?if "$(var.RuntimeModule32)" != "" ?>
    103 	<Merge Id='Runtime.32' Language='0'
    104 	       SourceFile='$(var.RuntimeModule32)' />
    105       <?endif?>
    106     </DirectoryRef>
    107     <?endif?>
    108 
    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>
    121 
    122       <Merge Id='Heimdal.Assemblies.64' Language='0'
    123              SourceFile='$(var.InstDir64)\Heimdal.msm' />
    124 
    125       <Merge Id='Heimdal.GSS.64' Language='0'
    126 	     SourceFile='$(var.InstDir64)\Heimdal.GSS.msm' />
    127 
    128       <Merge Id='Heimdal.Policy.64' Language='0'
    129              SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' />
    130 
    131       <?if "$(var.RuntimeModule64)" != "" ?>
    132 	<Merge Id='Runtime.64' Language='0'
    133 	       SourceFile='$(var.RuntimeModule64)' />
    134       <?endif?>
    135     </DirectoryRef>
    136     <?endif?>
    137 
    138     <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'>
    139 
    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>
    146 
    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>
    153 
    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>
    160 
    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>
    167 
    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>
    174 
    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>
    181 
    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>
    188 
    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>
    195 
    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>
    208 
    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>
    215 
    216       <Component Id='comp.Heimdal.chm'
    217                  Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
    218         <File Source='$(var.DocDir)\heimdal.chm' />
    219       </Component>
    220 
    221       <Component Id='comp.HX509.chm'
    222                  Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'>
    223         <File Source='$(var.DocDir)\hx509.chm' />
    224       </Component>
    225 
    226     </DirectoryRef>
    227 
    228     <DirectoryRef Id='TARGETDIR'>
    229       <Directory Id='CommonAppDataFolder' Name='ProgramData'>
    230 	<Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'>
    231 
    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>
    244 
    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>
    266 
    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>
    288 
    289         </Directory>
    290       </Directory>
    291       <Directory Id='WindowsFolder'>
    292       </Directory>
    293     </DirectoryRef>
    294 
    295     <Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' />
    296 
    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>
    304 
    305     <!-- Search for existing configuration files -->
    306 
    307     <Property Id='LEGACYKRB5INI' Secure='yes'>
    308       <DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'>
    309         <FileSearch Name='krb5.ini' />
    310       </DirectorySearch>
    311     </Property>
    312 
    313     <Property Id='LEGACYKRB5CONF' Secure='yes'>
    314       <DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'>
    315         <FileSearch Name='krb5.conf' />
    316       </DirectorySearch>
    317     </Property>
    318 
    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>
    325 
    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?>
    334 
    335     <InstallExecuteSequence>
    336       <RemoveExistingProducts After='InstallFinalize' />
    337     </InstallExecuteSequence>
    338 
    339     <Condition Message='!(loc.AdminRequired)'>Installed OR Privileged</Condition>
    340     <Condition Message='!(loc.AlreadyInstalled)'>Installed OR NOT EXISTINGINSTALLATION</Condition>
    341 
    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'>
    346 
    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' />
    362 
    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?>
    370 
    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?>
    382 
    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?>
    402 
    403     </Feature>
    404 
    405     <!-- Properties for Add/Remove Programs -->
    406 
    407     <Property Id='ARPHELPLINK' Value='http://www.h5l.org' />
    408 
    409     <Property Id='ARPCONTACT' Value='heimdal (a] h5l.org' />
    410 
    411     <Property Id='ARPURLINFOABOUT' Value='http://www.h5l.org' />
    412 
    413     <!-- Other properties -->
    414 
    415     <UIRef Id='WixUI_FeatureTree' />
    416 
    417     <WixVariable Id="WixUIBannerBmp" Value="images\Heimdal_banner.bmp" />
    418     <WixVariable Id="WixUIDialogBmp" Value="images\Heimdal_dialog.bmp" />
    419 
    420   </Product>
    421 </Wix>
    422