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
10 http://www.apache.org/licenses/LICENSE-2.0
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. -->
18 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
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
26 <!-- Configuration, licenses and documentation -->
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' />
34 <Component Id='CREDITS.txt' Guid='{9A792E0C-61F1-4D08-9672-BE82FFB6B7F1}'>
35 <File KeyPath='yes' Name='CREDITS.txt' />
37 <Component Id='LICENSE.txt' Guid='{404E7A3C-22C2-4A02-8DC0-7D5C0B25DED1}'>
38 <File KeyPath='yes' Name='LICENSE.txt' />
40 <Component Id='NOTICE.txt' Guid='{80619251-6754-480A-AFAA-D7398482053C}'>
41 <File KeyPath='yes' Name='NOTICE.txt' />
43 <Component Id='README.txt' Guid='{2E5A28EE-B70B-402B-8E6F-72E8EC1EEF0D}'>
44 <File KeyPath='yes' Name='README.txt'/>
46 <Component Id='RELEASE.txt' Guid='{5822AF4E-BE53-4952-B662-6BE2D3913D31}'>
47 <File KeyPath='yes' Name='RELEASE.txt' />
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' />
56 <Component Id='example_metadata.xml' Guid='{D9852008-249D-405D-8059-5DAD307D2723}' Permanent='yes'>
57 <File KeyPath='yes' Name='example-metadata.xml' />
59 <Component Id='example_shibboleth2.xml' Guid='{85415A41-2B4E-406F-9CFC-63CFC360A9C7}' Permanent='yes'>
60 <File KeyPath='yes' Name='example-shibboleth2.xml' />
62 <Component Id='keygen.bat' Guid='{A5BBCB8B-42B3-4402-B66D-66D2971F509F}'>
63 <File KeyPath='yes' Name='keygen.bat'/>
65 <Component Id='xsltproc.js' Guid='{B87F4A53-3C37-45DA-BE6F-C46790FA7C2D}'>
66 <File KeyPath='yes' Name='xsltproc.js' />
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' />
72 <Component Id='apache2.config.in' Guid='{85BF72A1-FBA8-4955-ACCF-ABC83B1292C9}'>
73 <File KeyPath='yes' Name='apache2.config.in' />
75 <Component Id='apache22.config.in' Guid='{6AEBA525-8F52-4D14-BAEE-0292A2E214D1}'>
76 <File KeyPath='yes' Name='apache22.config.in' />
78 <Component Id='apache24.config.in' Guid='{3562B68A-E54A-4F1B-9F10-BDACB5FFE8CB}'>
79 <File KeyPath='yes' Name='apache24.config.in' />
81 <Component Id='sslError.html' Guid='{A74BA230-C49F-4151-BBF4-AA80D554D099}'>
82 <File KeyPath='yes' Name='sslError.html' />
84 <Component Id='bindingTemplate.html' Guid='{F5A3A434-9209-43EC-9314-1F705055DDEC}'>
85 <File KeyPath='yes' Name='bindingTemplate.html' />
87 <Component Id='globalLogout.html' Guid='{E65F580D-5489-4D79-A8FC-F9FFED666FC1}'>
88 <File KeyPath='yes' Name='globalLogout.html' />
90 <Component Id='localLogout.html' Guid='{70FA3A47-A950-4074-BC13-C56D94497BD9}'>
91 <File KeyPath='yes' Name='localLogout.html' />
93 <Component Id='attribute_map.xml' Guid='{878C9456-E65F-4541-A0FA-975379EAC6B6}'>
94 <File KeyPath='yes' Name='attribute-map.xml' />
96 <Component Id='attribute_policy.xml' Guid='{55B88F7B-E2EA-4B70-87B7-33C566B9F992}'>
97 <File KeyPath='yes' Name='attribute-policy.xml'/>
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' />
102 <Component Id='console.logger' Guid='{8AC85980-32B9-4EA2-9245-167FB1AB2570}'>
103 <File KeyPath='yes' Name='console.logger' />
105 <Component Id='discoveryTemplate.html' Guid='{A9573113-4387-46DD-A636-84482AF2C672}'>
106 <File KeyPath='yes' Name='discoveryTemplate.html' />
108 <Component Id='postTemplate.html' Guid='{5B7111E8-8E04-42F1-AB02-E47AFB7C3D28}'>
109 <File KeyPath='yes' Name='postTemplate.html' />
111 <Component Id='partialLogout.html' Guid='{E1F6208B-3C70-4632-B84C-C7D141DC4192}'>
112 <File KeyPath='yes' Name='partialLogout.html' />
114 <Component Id='protocols.xml' Guid='{B226CAAC-2D18-411A-9FBF-3FE237EBEF4D}'>
115 <File KeyPath='yes' Name='protocols.xml' />
117 <Component Id='security_policy.xml' Guid='{0EC04525-FCCF-4B60-8797-9B0CEC222B8C}'>
118 <File KeyPath='yes' Name='security-policy.xml' />
120 <Component Id='accessError.html' Guid='{6FAA81A0-A020-4E60-A37D-1EC4D0D5FD06}'>
121 <File KeyPath='yes' Name='accessError.html' />
123 <Component Id='attrChecker.html' Guid='{BDF4837C-A887-4F1C-841C-DC13DFF8A46E}'>
124 <File KeyPath='yes' Name='attrChecker.html' />
126 <Component Id='metadataError.html' Guid='{8C46D04A-A943-4FA4-AFCB-9B040306C2C0}'>
127 <File KeyPath='yes' Name='metadataError.html' />
129 <Component Id='native.logger.in' Guid='{8586D4C7-E237-4C7F-BC79-DE0B06473395}'>
130 <File KeyPath='yes' Name='native.logger.in' />
132 <Component Id='sessionError.html' Guid='{8AA240B3-DC5D-4687-B321-4F5E1BAEA820}'>
133 <File KeyPath='yes' Name='sessionError.html' />
135 <Component Id='shibd.logger.in' Guid='{D8DA3D14-F779-4691-A883-4995158D2A74}'>
136 <File KeyPath='yes' Name='shibd.logger.in' />
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}'>
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'/>
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}'>
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}'>
164 </Directory><!-- var_run_shibboleth -->
165 </Directory><!-- var_run -->
166 </Directory><!-- var -->
169 <!-- Stuff to do the editing and copy of the files -->
171 <Binary Id='EditConfigFileSrc' SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_edit_config_files.vbs-wix' />
173 <CustomAction Id='EditConfigFiles'
174 BinaryKey='EditConfigFileSrc' VBScriptCall='' Execute='deferred' Impersonate='no' />
175 <CustomAction Id='SetEditConfigFiles' Property='EditConfigFiles' Value='[INSTALLDIR];@;[IS64BITINSTALL];@;[INSTALL_32BIT]' />
177 <CustomAction Id='KeyGen' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
178 <CustomAction Id='SetKeyGen' Property='KeyGen' Value='"[INSTALLDIR]etc\shibboleth\keygen.bat"' />
180 <!-- Stuff to configure IIS. This is a one-shot (first install/last uninstall) -->
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'/>
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' />
194 <CustomAction Id='SetShibUninstallISAPIFilter' Property='ShibUninstallISAPIFilter' Value='[INSTALLDIR]'/>
195 <CustomAction Id='ShibUninstallISAPIFilter' BinaryKey='uninstall_isapi'
196 VBScriptCall='' Execute='deferred' Impersonate='no' />
198 <CustomAction Id='ServicePath64' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
199 <CustomAction Id='SetServicePath64' Property='ServicePath64' Value='"[INSTALLDIR]etc\shibboleth\SetService64.bat"' />
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]' />
206 <!-- All we need to sequence here is setting up inherited INSTALLDIR -->
208 <!-- inherit installationDir if there is something to inherit -->
209 <Custom Action='InheritInstallDir' After='AppSearch'>
212 <Custom Action='InheritInstallDir64' After='InheritInstallDir'>
213 (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64
217 <InstallExecuteSequence>
218 <Custom Action='SetEditConfigFiles' Before='CostInitialize'>NOT Installed</Custom>
219 <Custom Action='EditConfigFiles' After='InstallFiles'>NOT Installed</Custom>
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>
227 - AND we were told to
228 - AND this is NOT an upgrade
230 <Custom Action='SetShibInstallISAPIFilter32' Before='CostInitialize'>
231 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (INSTALL_32BIT) AND IISMAJORVERSION
233 <Custom Action='SetShibInstallISAPIFilter64' Before='CostInitialize'>
234 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND IISMAJORVERSION
236 <Custom Action='ShibInstallISAPIFilter' After='InstallFiles'>
237 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
239 <ScheduleReboot Before='InstallFinalize'>
240 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
244 <!-- (try to) Uninstall IIS if
245 - this is an uninstall
246 - this is not an upgrade
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>
253 <!-- set service path to 64 bit one if this is an install and if we were told to -->
255 <Custom Action='SetServicePath64' Before='CostInitialize'>
256 (NOT Installed) AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")
258 <Custom Action='ServicePath64' After='InstallServices'>
259 (NOT Installed) AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")
262 <!-- Duplicate actions from the UI case -->
263 <Custom Action='InheritInstallDir' After='AppSearch'>
266 <Custom Action='InheritInstallDir64' After='InheritInstallDir'>
267 (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64
270 <!-- Do not mess with SCM if this is an upgrade -->
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>
276 </InstallExecuteSequence>