Home | History | Annotate | Line # | Download | only in installer
      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 
      8   <?define ToolsBinDir=dirBin64 ?>
      9   <?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?>
     10   <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
     11   <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
     12   <?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?>
     13   <?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?>
     14   <?define GuidKvno=2B932C2B-9167-4051-BDF7-A104E9983CE6 ?>
     15   <?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?>
     16   <?define GuidKdeltkt=3E853905-8CDA-4E14-8EBA-C0C4EEDB811A ?>
     17   <?define GuidHeimtools=F411A9F1-A186-40CB-B55B-CADBE0166268 ?>
     18 
     19   <?define GuidPackage={49114B84-F013-4473-B8FA-E77FAE565C4E} ?>
     20   <?define GuidKerberos={0ECC969D-76EB-474F-9CC5-91AD22944520} ?>
     21 
     22   <?else?>
     23 
     24   <?define Win64=no ?>
     25 
     26   <?define ToolsBinDir=dirBin32 ?>
     27   <?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?>
     28   <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
     29   <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
     30   <?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?>
     31   <?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?>
     32   <?define GuidKvno=4C6015BE-1347-4D12-8841-FF90E0B9D6A8 ?>
     33   <?define GuidKcpytkt=CBCDFC80-601B-4F26-A020-7D1278735B95 ?>
     34   <?define GuidKdeltkt=6450EE72-E472-4709-B457-B579BFB2472B ?>
     35   <?define GuidHeimtools=11800964-4A5F-466E-B2FE-DD2EFC54DDB9 ?>
     36 
     37   <?define GuidPackage={AF31DA8A-4D8C-4248-B685-3D60FE8CA3AE} ?>
     38   <?define GuidKerberos={FC7C866C-4E6A-4C48-A7E2-151C7C86E375} ?>
     39   <?endif?>
     40 
     41   <Module Id="Heimdal" Language="0" Version="$(var.Version)">
     42 
     43     <Package Id="$(var.GuidPackage)"
     44 	     InstallerVersion="200"
     45 	     Languages="1033" Manufacturer="Heimdal"
     46 	     SummaryCodepage="1252" AdminImage="no"
     47 	     Platform="$(var.Platform)" />
     48 
     49     <Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
     50 
     51       <?ifdef Target32 ?>
     52       <Directory Id='ProgramFilesFolder'>
     53 	<Directory Id='INSTALLDIR32' Name='Heimdal'>
     54 	  <Directory Id='dirBin32' Name='bin'>
     55 	  </Directory>
     56 	</Directory>
     57       </Directory>
     58       <?endif?>
     59 
     60       <?ifdef Target64?>
     61       <Directory Id='ProgramFiles64Folder'>
     62 	<Directory Id='INSTALLDIR64' Name='Heimdal'>
     63 	  <Directory Id='dirBin64' Name='bin'>
     64 	  </Directory>
     65 	</Directory>
     66       </Directory>
     67       <?endif?>
     68 
     69     </Directory>
     70 
     71     <?ifdef Target32?>
     72     <DirectoryRef Id='dirBin32' DiskId='1'>
     73       <Component Id='comp.SearchPath.32'
     74 		 Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='no'>
     75 	<RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'>
     76 	  <RegistryValue Name='InstallPath' Type='string'
     77 			 Value='[dirBin32]' KeyPath='yes' />
     78 	</RegistryKey>
     79 	<Environment Id='env.Path.32' Name='PATH' Action='set' Part='last'
     80 		     Separator=';' Value='[dirBin32]' System='yes' />
     81       </Component>
     82 
     83     </DirectoryRef>
     84     <?endif?>
     85 
     86     <?ifdef Target64?>
     87     <DirectoryRef Id='dirBin64' DiskId='1'>
     88       <Component Id='comp.SearchPath.64'
     89 		 Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'>
     90 	<RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'>
     91 	  <RegistryValue Name='InstallPath' Type='string'
     92 			 Value='[dirBin64]' KeyPath='yes' />
     93 	</RegistryKey>
     94 	<Environment Id='env.Path' Name='PATH' Action='set' Part='last'
     95 		     Separator=';' Value='[dirBin64]' System='yes' />
     96       </Component>
     97 
     98     </DirectoryRef>
     99     <?endif?>
    100 
    101     <DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)'>
    102 
    103       <Component Id='comp.kinit'
    104 		 Guid='$(var.GuidKinit)'
    105 		 Win64='$(var.Win64)'>
    106 	<File Name='kinit.exe' KeyPath='yes' />
    107 	<File Name='kinit.pdb' />
    108       </Component>
    109 
    110       <Component Id='comp.ktutil'
    111 		 Guid='$(var.GuidKtutil)'
    112 		 Win64='$(var.Win64)'>
    113 	<File Name='ktutil.exe' KeyPath='yes' />
    114 	<File Name='ktutil.pdb' />
    115       </Component>
    116 
    117       <Component Id='comp.kdestroy'
    118 		 Guid='$(var.GuidKdestroy)'
    119 		 Win64='$(var.Win64)'>
    120 	<File Name='kdestroy.exe' KeyPath='yes' />
    121 	<File Name='kdestroy.pdb' />
    122       </Component>
    123 
    124       <Component Id='comp.kdigest'
    125 		 Guid='$(var.GuidKdigest)'
    126 		 Win64='$(var.Win64)'>
    127 	<File Name='kdigest.exe' KeyPath='yes' />
    128 	<File Name='kdigest.pdb' />
    129       </Component>
    130 
    131       <Component Id='comp.kpasswd'
    132 		 Guid='$(var.GuidKpasswd)'
    133 		 Win64='$(var.Win64)'>
    134 	<File Name='kpasswd.exe' KeyPath='yes' />
    135 	<File Name='kpasswd.pdb' />
    136       </Component>
    137 
    138       <Component Id='comp.kvno'
    139 		 Guid='$(var.GuidKvno)'
    140 		 Win64='$(var.Win64)'>
    141 	<File Name='kvno.exe' KeyPath='yes' />
    142 	<File Name='kvno.pdb' />
    143       </Component>
    144 
    145       <Component Id='comp.kcpytkt'
    146 		 Guid='$(var.GuidKcpytkt)'
    147 		 Win64='$(var.Win64)'>
    148 	<File Name='kcpytkt.exe' KeyPath='yes' />
    149 	<File Name='kcpytkt.pdb' />
    150       </Component>
    151 
    152       <Component Id='comp.kdeltkt'
    153 		 Guid='$(var.GuidKdeltkt)'
    154 		 Win64='$(var.Win64)'>
    155 	<File Name='kdeltkt.exe' KeyPath='yes' />
    156 	<File Name='kdeltkt.pdb' />
    157       </Component>
    158 
    159       <Component Id='comp.heimtools'
    160 		 Guid='$(var.GuidHeimtools)'
    161 		 Win64='$(var.Win64)'>
    162 	<File Name='heimtools.exe' KeyPath='yes'>
    163 	  <CopyFile Id='klist.exe' DestinationName='klist.exe' DestinationProperty='$(var.ToolsBinDir)' />
    164 	  <CopyFile Id='kswitch.exe' DestinationName='kswitch.exe' DestinationProperty='$(var.ToolsBinDir)' />
    165 	</File>
    166 	<File Name='heimtools.pdb'>
    167 	  <CopyFile Id='klist.pdb' DestinationName='klist.pdb' />
    168 	  <CopyFile Id='kswitch.pdb' DestinationName='kswitch.pdb' />
    169 	</File>
    170       </Component>
    171 
    172       <Component Id='comp.Heimdal.chm'
    173 		 Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
    174 	<File Source='$(var.DocDir)\heimdal.chm' />
    175       </Component>
    176 
    177       <Component Id='comp.HX509.chm'
    178 		 Guid='CBB379D6-629D-4EB9-AC0D-0167651F14EF'>
    179 	<File Source='$(var.DocDir)\hx509.chm' />
    180       </Component>
    181 
    182     </DirectoryRef>
    183 
    184     <DirectoryRef Id='TARGETDIR'>
    185       <Directory Id='CommonAppDataFolder' Name='ProgramData'>
    186 	<Directory Id='dirCommonKerberos' Name='Kerberos' FileSource='$(var.SrcDir)'>
    187 
    188 	  <Component Id='comp.krb5.conf'
    189 		     Guid='ED28951F-7B17-4DF5-91D7-4DC11C810E66'
    190 		     Permanent='yes' NeverOverwrite='yes'>
    191 	    <File Name='krb5.conf' KeyPath='yes' Id='krb5_conf' />
    192 	    <Environment Id='KRB5_CONFIG_by_krb5.conf' Name='KRB5_CONFIG' Action='set' System='yes' Value='[#krb5_conf]' />
    193 	    <!-- Backwards compatibility -->
    194 	    <RegistryKey Root='HKLM' Key='Software\MIT\Kerberos'>
    195 	      <RegistryValue Name='config' Type='string' Value='[#krb5_conf]' />
    196 	    </RegistryKey>
    197 	    <Condition>Not LEGACYKRB5INI And Not LEGACYKRB5CONF And Not LEGACYKRB5REG32 And Not LEGACYKRB5REG64</Condition>
    198 	  </Component>
    199 
    200 	  <Component Id='comp.krb5.ini.move'
    201 		     Guid='316CB754-4332-4C02-95C1-4AC82590712D'>
    202 	    <CopyFile Id='copy_krb5.ini' Delete='yes'
    203 		      DestinationDirectory='dirCommonKerberos'
    204 		      DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
    205 		      SourceProperty='LEGACYKRB5INI' />
    206 	    <Environment Id='KRB5_CONFIG_by_legacy_krb5.ini' Name='KRB5_CONFIG'
    207 			 Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
    208 	    <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'>
    209 	      <RegistryValue Name='LegacyKrb5IniLocation' Type='string'
    210 			     Value='[LEGACYKRB5INI]' KeyPath='yes' />
    211 	    </RegistryKey>
    212 	    <!-- Backwards compatibility -->
    213 	    <RegistryKey Root='HKLM' Key='Software\MIT\Kerberos'>
    214 	      <RegistryValue Name='config' Type='string'
    215 			     Value='[dirCommonKerberos]krb5.conf' />
    216 	    </RegistryKey>
    217 	    <Condition>LEGACYKRB5INI</Condition>
    218 	  </Component>
    219 
    220 	  <Component Id='comp.krb5.conf.move'
    221 		     Guid='ADCE6801-0FD3-46E7-955A-FC9214CFE0AB'>
    222 	    <CopyFile Id='copy_krb5.conf' Delete='yes'
    223 		      DestinationDirectory='dirCommonKerberos'
    224 		      DestinationName='krb5.conf' DestinationShortName='krb5.cnf'
    225 		      SourceProperty='LEGACYKRB5CONF' />
    226 	    <Environment Id='KRB5_CONFIG_by_legacy_krb5.conf' Name='KRB5_CONFIG'
    227 			 Action='set' System='yes' Value='[dirCommonKerberos]krb5.conf' />
    228 	    <RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'>
    229 	      <RegistryValue Name='LegacyKrb5ConfLocation' Type='string'
    230 			     Value='[LEGACYKRB5CONF]' KeyPath='yes' />
    231 	    </RegistryKey>
    232 	    <!-- Backwards compatibility -->
    233 	    <RegistryKey Root='HKLM' Key='Software\MIT\Kerberos'>
    234 	      <RegistryValue Name='config' Type='string'
    235 			     Value='[dirCommonKerberos]krb5.conf' />
    236 	    </RegistryKey>
    237 	    <Condition>LEGACYKRB5CONF</Condition>
    238 	  </Component>
    239 
    240 	</Directory>
    241       </Directory>
    242       <Directory Id='WindowsFolder'>
    243       </Directory>
    244     </DirectoryRef>
    245 
    246     <!-- Search for existing configuration files -->
    247 
    248     <Property Id='LEGACYKRB5INI' >
    249       <DirectorySearch Id='dirSearchKrb5Ini' Depth='1' Path='[WindowsFolder]'>
    250 	<FileSearch Name='krb5.ini' />
    251       </DirectorySearch>
    252     </Property>
    253 
    254     <Property Id='LEGACYKRB5CONF' >
    255       <DirectorySearch Id='dirSearchKrb5Conf' Depth='1' Path='[WindowsFolder]'>
    256 	<FileSearch Name='krb5.conf' />
    257       </DirectorySearch>
    258     </Property>
    259 
    260     <Property Id='LEGACYKRB5REG32'>
    261       <RegistrySearch Id='regSearchKrb5ConfUser' Key='Software\MIT\Kerberos' Name='config'
    262 		      Root='HKLM' Type='file' Win64='no'>
    263 	<FileSearch Name='krb5.ini' />
    264       </RegistrySearch>
    265     </Property>
    266 
    267     <?if $(var.Platform)=x64 ?>
    268     <Property Id='LEGACYKRB5REG64'>
    269       <RegistrySearch Id='regSearchKrb5ConfMach' Key='Software\MIT\Kerberos' Name='config'
    270 		      Root='HKLM' Type='file' Win64='yes'>
    271 	<FileSearch Name='krb5.ini' />
    272       </RegistrySearch>
    273     </Property>
    274     <?endif?>
    275 
    276   </Module>
    277 </Wix>
    278