Use shibboleth-sp as package name for compatibility.
[shibboleth/cpp-sp.git] / msi / WiX / ShibbolethSP-noarch.wxs
1 <?xml version='1.0' encoding='UTF-8'?>
2 <!-- Licensed to the University Corporation for Advanced Internet
3      Development, Inc. (UCAID) under one or more contributor license
4      agreements.  See the NOTICE file distributed with this work for
5      additional information regarding copyright ownership. The UCAID
6      licenses this file to You under the Apache License, Version 2.0
7      (the 'License'); you may not use this file except in compliance
8      with the License.  You may obtain a copy of the License at
9      
10      http://www.apache.org/licenses/LICENSE-2.0
11      
12      Unless required by applicable law or agreed to in writing, software
13      distributed under the License is distributed on an 'AS IS' BASIS,
14      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15      implied.  See the License for the specific language governing
16      permissions and limitations under the License.  -->
17
18 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
19   <!--
20     This is where we put all the architecture neutral bits of the
21     Shibboleth install.  It turns out that it may not be all the
22     architecture insenstive stuff since some GUIDS may have moved
23   -->
24   <Fragment>
25     <!-- Files First -->
26     <!-- Configuration, licenses and documentation -->
27
28     <DirectoryRef Id='INSTALLDIR'>
29       <Directory Id='doc' Name='doc' >
30         <Directory Id='doc_shibboleth' Name='shibboleth' FileSource='$(var.SPBuildDirectory)\cpp-sp\doc' >
31           <Component Id='main.css' Guid='{EA1366EE-0FD1-42E7-9F3F-C19E6C0D12D6}'>
32             <File KeyPath='yes' Name='main.css' />
33           </Component>
34           <Component Id='CREDITS.txt' Guid='{9A792E0C-61F1-4D08-9672-BE82FFB6B7F1}'>
35             <File KeyPath='yes' Name='CREDITS.txt' />
36           </Component>
37           <Component Id='LICENSE.txt' Guid='{404E7A3C-22C2-4A02-8DC0-7D5C0B25DED1}'>
38             <File KeyPath='yes' Name='LICENSE.txt' />
39           </Component>
40           <Component Id='NOTICE.txt' Guid='{80619251-6754-480A-AFAA-D7398482053C}'>
41             <File KeyPath='yes' Name='NOTICE.txt' />
42           </Component>
43           <Component Id='README.txt' Guid='{2E5A28EE-B70B-402B-8E6F-72E8EC1EEF0D}'>
44             <File KeyPath='yes' Name='README.txt'/>
45           </Component>
46           <Component Id='RELEASE.txt' Guid='{5822AF4E-BE53-4952-B662-6BE2D3913D31}'>
47             <File KeyPath='yes' Name='RELEASE.txt' />
48           </Component>
49         </Directory><!-- doc_shibboleth -->
50       </Directory><!-- doc -->
51       <Directory Id='etc' Name='etc' >
52         <Directory Id='etc_shibboleth' Name='shibboleth' FileSource='$(var.SPBuildDirectory)\cpp-sp\configs'>
53           <Component Id='upgrade.xsl' Guid='{D8D1270C-2F85-4465-8EC0-F5F30A2B3EDD}'>
54             <File KeyPath='yes' Name='upgrade.xsl' />
55           </Component>
56           <Component Id='example_metadata.xml' Guid='{D9852008-249D-405D-8059-5DAD307D2723}' Permanent='yes'>
57             <File KeyPath='yes' Name='example-metadata.xml' />
58           </Component>
59           <Component Id='example_shibboleth2.xml' Guid='{85415A41-2B4E-406F-9CFC-63CFC360A9C7}' Permanent='yes'>
60             <File KeyPath='yes' Name='example-shibboleth2.xml' />
61           </Component>
62           <Component Id='keygen.bat' Guid='{A5BBCB8B-42B3-4402-B66D-66D2971F509F}'>
63             <File KeyPath='yes' Name='keygen.bat'/>
64           </Component>
65           <Component Id='xsltproc.js' Guid='{B87F4A53-3C37-45DA-BE6F-C46790FA7C2D}'>
66             <File KeyPath='yes' Name='xsltproc.js' />
67           </Component>
68           <Directory Id='etc_shibboleth_dist' Name='dist' FileSource='$(var.SPBuildDirectory)\cpp-sp\configs'>
69             <Component Id='apache.config.in' Guid='{AF4EB2B1-2489-4E39-A89E-1CA7AC2B7483}'>
70               <File KeyPath='yes' Name='apache.config.in' />
71             </Component>
72             <Component Id='apache2.config.in' Guid='{85BF72A1-FBA8-4955-ACCF-ABC83B1292C9}'>
73               <File KeyPath='yes' Name='apache2.config.in' />
74             </Component>
75             <Component Id='apache22.config.in' Guid='{6AEBA525-8F52-4D14-BAEE-0292A2E214D1}'>
76               <File KeyPath='yes' Name='apache22.config.in' />
77             </Component>
78             <Component Id='apache24.config.in' Guid='{3562B68A-E54A-4F1B-9F10-BDACB5FFE8CB}'>
79               <File KeyPath='yes' Name='apache24.config.in' />
80             </Component>
81             <Component Id='sslError.html' Guid='{A74BA230-C49F-4151-BBF4-AA80D554D099}'>
82               <File KeyPath='yes' Name='sslError.html' />
83             </Component>
84             <Component Id='bindingTemplate.html' Guid='{F5A3A434-9209-43EC-9314-1F705055DDEC}'>
85               <File KeyPath='yes' Name='bindingTemplate.html' />
86             </Component>
87             <Component Id='globalLogout.html' Guid='{E65F580D-5489-4D79-A8FC-F9FFED666FC1}'>
88               <File KeyPath='yes' Name='globalLogout.html' />
89             </Component>
90             <Component Id='localLogout.html' Guid='{70FA3A47-A950-4074-BC13-C56D94497BD9}'>
91               <File KeyPath='yes' Name='localLogout.html' />
92             </Component>
93             <Component Id='attribute_map.xml' Guid='{878C9456-E65F-4541-A0FA-975379EAC6B6}'>
94               <File KeyPath='yes' Name='attribute-map.xml' />
95             </Component>
96             <Component Id='attribute_policy.xml' Guid='{55B88F7B-E2EA-4B70-87B7-33C566B9F992}'>
97               <File KeyPath='yes' Name='attribute-policy.xml'/>
98             </Component>
99             <Component Id='shibboleth2.xml' Guid='{E520FEDE-3F0E-47C6-9345-47223B82825A}'>
100               <File KeyPath='yes' Name='shibboleth2.xml' Source='$(var.SPBuildDirectory)\cpp-sp\configs\win-shibboleth2.xml' />
101             </Component>
102             <Component Id='console.logger' Guid='{8AC85980-32B9-4EA2-9245-167FB1AB2570}'>
103               <File KeyPath='yes' Name='console.logger' />
104             </Component>
105             <Component Id='discoveryTemplate.html' Guid='{A9573113-4387-46DD-A636-84482AF2C672}'>
106               <File KeyPath='yes' Name='discoveryTemplate.html' />
107             </Component>
108             <Component Id='postTemplate.html' Guid='{5B7111E8-8E04-42F1-AB02-E47AFB7C3D28}'>
109               <File KeyPath='yes' Name='postTemplate.html' />
110             </Component>
111             <Component Id='partialLogout.html' Guid='{E1F6208B-3C70-4632-B84C-C7D141DC4192}'>
112               <File KeyPath='yes' Name='partialLogout.html' />
113             </Component>
114             <Component Id='protocols.xml' Guid='{B226CAAC-2D18-411A-9FBF-3FE237EBEF4D}'>
115               <File KeyPath='yes' Name='protocols.xml' />
116             </Component>
117             <Component Id='security_policy.xml' Guid='{0EC04525-FCCF-4B60-8797-9B0CEC222B8C}'>
118               <File KeyPath='yes' Name='security-policy.xml' />
119             </Component>
120             <Component Id='accessError.html' Guid='{6FAA81A0-A020-4E60-A37D-1EC4D0D5FD06}'>
121               <File KeyPath='yes' Name='accessError.html' />
122             </Component>
123             <Component Id='attrChecker.html' Guid='{BDF4837C-A887-4F1C-841C-DC13DFF8A46E}'>
124               <File KeyPath='yes' Name='attrChecker.html' />
125             </Component>
126             <Component Id='metadataError.html' Guid='{8C46D04A-A943-4FA4-AFCB-9B040306C2C0}'>
127               <File KeyPath='yes' Name='metadataError.html' />
128             </Component>
129             <Component Id='native.logger.in' Guid='{8586D4C7-E237-4C7F-BC79-DE0B06473395}'>
130               <File KeyPath='yes' Name='native.logger.in' />
131             </Component>
132             <Component Id='sessionError.html' Guid='{8AA240B3-DC5D-4687-B321-4F5E1BAEA820}'>
133               <File KeyPath='yes' Name='sessionError.html' />
134             </Component>
135             <Component Id='shibd.logger.in' Guid='{D8DA3D14-F779-4691-A883-4995158D2A74}'>
136               <File KeyPath='yes' Name='shibd.logger.in' />
137             </Component>
138           </Directory><!-- etc_shibboleth_dist -->
139         </Directory><!-- etc_shibboleth -->
140       </Directory><!-- etc_dist -->
141       <Directory Id='var' Name='var'>
142         <Directory Id='var_cache' Name='cache'>
143           <Directory Id='var_cache_shibboleth' Name='shibboleth'>
144             <Component Id='var_cache_shibboleth_folder' Guid='{6C978639-DDCF-40BD-90F8-690B3E05586C}'>
145               <CreateFolder />
146               <!-- Kill off old env variable from pre 2.5 install.
147                    Do it here so it is in the correct tables -->
148               <Environment Id='SHIBSP_SCHEMAS' Action='remove' Name='SHIBSP_SCHEMAS'/>
149             </Component>
150           </Directory><!-- var_cache_shibboleth -->
151         </Directory><!-- var_cache -->
152         <Directory Id='var_log' Name='log'>
153           <Directory Id='var_log_shibboleth' Name='shibboleth'>
154             <Component Id='var_log_shibboleth_folder' Guid='{2BFC84E4-634B-4D70-910A-D5640739C8C8}'>
155               <CreateFolder />
156             </Component>
157           </Directory><!-- var_log_shibboleth -->
158         </Directory><!-- var_log -->
159         <Directory Id='var_run' Name='run'>
160           <Directory Id='var_run_shibboleth' Name='shibboleth'>
161             <Component Id='var_run_shibboleth_folder' Guid='{35E176B1-965A-4571-B24E-E0C8E69B0459}'>
162               <CreateFolder />
163             </Component>
164           </Directory><!-- var_run_shibboleth -->
165         </Directory><!-- var_run -->
166       </Directory><!-- var -->
167     </DirectoryRef>
168
169     <!-- Stuff to do the editing and copy of the files -->
170
171     <Binary Id='EditConfigFileSrc' SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_edit_config_files.vbs-wix' />
172
173     <CustomAction Id='EditConfigFiles' 
174                   BinaryKey='EditConfigFileSrc' VBScriptCall='' Execute='deferred' Impersonate='no' />
175     <CustomAction Id='SetEditConfigFiles' Property='EditConfigFiles' Value='[INSTALLDIR];@;[IS64BITINSTALL];@;[INSTALL_32BIT]' />
176
177     <CustomAction Id='KeyGen' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
178     <CustomAction Id='SetKeyGen' Property='KeyGen' Value='&quot;[INSTALLDIR]etc\shibboleth\keygen.bat&quot;' />
179
180     <!-- Stuff to configure IIS.  This is a one-shot (first install/last uninstall) -->
181
182     <Binary Id='install_isapi'
183             SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_install_isapi_filter.vbs-wix'/>
184     <Binary Id='uninstall_isapi' 
185             SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_uninstall_isapi_filter.vbs-wix'/>
186
187     <CustomAction Id='SetShibInstallISAPIFilter32' Property='ShibInstallISAPIFilter' 
188                   Value='[INSTALLDIR];@;[INSTALLDIR]lib\shibboleth\isapi_shib.dll;@;[SHIB_FILE_EXTENSION]' />
189     <CustomAction Id='SetShibInstallISAPIFilter64' Property='ShibInstallISAPIFilter' 
190                   Value='[INSTALLDIR];@;[INSTALLDIR]lib64\shibboleth\isapi_shib.dll;@;[SHIB_FILE_EXTENSION]' />
191     <CustomAction Id='ShibInstallISAPIFilter' BinaryKey='install_isapi' 
192                   VBScriptCall='' Execute='deferred' Impersonate='no' />
193
194     <CustomAction Id='SetShibUninstallISAPIFilter' Property='ShibUninstallISAPIFilter' Value='[INSTALLDIR]'/>
195     <CustomAction Id='ShibUninstallISAPIFilter' BinaryKey='uninstall_isapi' 
196                   VBScriptCall='' Execute='deferred' Impersonate='no' />
197
198     <CustomAction Id='ServicePath64' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
199     <CustomAction Id='SetServicePath64' Property='ServicePath64' Value='&quot;[INSTALLDIR]etc\shibboleth\SetService64.bat&quot;' />
200
201     <!-- Inherit the installation dir if one was set -->
202     <CustomAction Id='InheritInstallDir' Property='INSTALLDIR' Value='[OLD_INSTALLDIR]' />
203     <CustomAction Id='InheritInstallDir64' Property='INSTALLDIR' Value='[OLD_INSTALLDIR64]' />
204
205     <InstallUISequence>
206       <!-- All we need to sequence here is setting up inherited INSTALLDIR -->
207
208       <!-- inherit installationDir if there is something to inherit -->
209       <Custom Action='InheritInstallDir' After='AppSearch'>
210         OLD_INSTALLDIR
211       </Custom>
212       <Custom Action='InheritInstallDir64' After='InheritInstallDir'>
213         (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64
214       </Custom>
215     </InstallUISequence>
216
217     <InstallExecuteSequence>
218       <Custom Action='SetEditConfigFiles' Before='CostInitialize'>NOT Installed</Custom>
219       <Custom Action='EditConfigFiles' After='InstallFiles'>NOT Installed</Custom>
220
221       <Custom Action='SetKeyGen' Before='CostInitialize'>NOT Installed</Custom>
222       <!-- Run KeyGen after WriteEnvironmentStrings so the path is set -->
223       <Custom Action='KeyGen' After='WriteEnvironmentStrings'>NOT Installed</Custom>
224
225       <!-- Install IIS if
226            - this is an install
227            - AND we were told to
228            - AND this is NOT an upgrade
229         -->
230       <Custom Action='SetShibInstallISAPIFilter32' Before='CostInitialize'>
231         (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (INSTALL_32BIT) AND IISMAJORVERSION
232       </Custom>
233       <Custom Action='SetShibInstallISAPIFilter64' Before='CostInitialize'>
234         (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND IISMAJORVERSION
235       </Custom>
236       <Custom Action='ShibInstallISAPIFilter' After='InstallFiles'>
237         (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
238       </Custom>
239       <ScheduleReboot Before='InstallFinalize'>
240         (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
241       </ScheduleReboot>
242
243
244       <!-- (try to) Uninstall IIS if
245            - this is an uninstall
246            - this is not an upgrade
247            -->
248       <Custom Action='SetShibUninstallISAPIFilter' 
249               After='CostFinalize'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>
250       <Custom Action='ShibUninstallISAPIFilter' 
251               Before='RemoveFiles'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>
252
253       <!-- set service path to 64 bit one if this is an install and if we were told to -->
254
255       <Custom Action='SetServicePath64' Before='CostInitialize'>
256         (NOT Installed) AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")
257       </Custom>
258       <Custom Action='ServicePath64' After='InstallServices'>
259         (NOT Installed) AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")
260       </Custom>
261
262       <!-- Duplicate actions from the UI case -->
263       <Custom Action='InheritInstallDir' After='AppSearch'>
264         OLD_INSTALLDIR
265       </Custom>
266       <Custom Action='InheritInstallDir64' After='InheritInstallDir'>
267         (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64
268       </Custom>
269
270       <!-- Do not mess with SCM if this is an upgrade -->
271
272       <InstallServices>(NOT Installed) AND (NOT ALREADYINSTALLED)</InstallServices>
273       <StartServices>(NOT Installed) AND (ALWAYS_START_SERVICE = "TRUE")</StartServices>
274       <DeleteServices>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</DeleteServices>
275
276     </InstallExecuteSequence>
277   </Fragment>
278 </Wix>