xref: /netbsd-src/crypto/external/bsd/heimdal/dist/packages/windows/installer/heimdal-command.wxs (revision b9d004c6cc8d38329417ae29768c81e5f2a296cf)
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