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 <?include Versions.wxi ?>
20 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
22 This is where we put all the architecture neutral bits of the
23 Shibboleth install. It turns out that it may not be all the
24 architecture insenstive stuff since some GUIDS may have moved
28 <!-- Configuration, licenses and documentation -->
30 <DirectoryRef Id='INSTALLDIR'>
31 <Directory Id='doc' Name='doc' >
32 <Directory Id='doc_shibboleth' Name='shibboleth' FileSource='$(var.SPBuildDirectory)\cpp-sp\doc' >
33 <Component Id='main.css' Guid='{EA1366EE-0FD1-42E7-9F3F-C19E6C0D12D6}'>
34 <File KeyPath='yes' Name='main.css' />
36 <Component Id='CREDITS.txt' Guid='{9A792E0C-61F1-4D08-9672-BE82FFB6B7F1}'>
37 <File KeyPath='yes' Name='CREDITS.txt' />
39 <Component Id='LICENSE.txt' Guid='{404E7A3C-22C2-4A02-8DC0-7D5C0B25DED1}'>
40 <File KeyPath='yes' Name='LICENSE.txt' />
42 <Component Id='NOTICE.txt' Guid='{80619251-6754-480A-AFAA-D7398482053C}'>
43 <File KeyPath='yes' Name='NOTICE.txt' />
45 <Component Id='README.txt' Guid='{2E5A28EE-B70B-402B-8E6F-72E8EC1EEF0D}'>
46 <File KeyPath='yes' Name='README.txt'/>
48 <Component Id='RELEASE.txt' Guid='{5822AF4E-BE53-4952-B662-6BE2D3913D31}'>
49 <File KeyPath='yes' Name='RELEASE.txt' />
51 </Directory><!-- doc_shibboleth -->
52 </Directory><!-- doc -->
53 <Directory Id='etc' Name='etc' >
54 <Directory Id='etc_shibboleth' Name='shibboleth' FileSource='$(var.SPBuildDirectory)\cpp-sp\configs'>
55 <Component Id='upgrade.xsl' Guid='{D8D1270C-2F85-4465-8EC0-F5F30A2B3EDD}'>
56 <File KeyPath='yes' Name='upgrade.xsl' />
58 <Component Id='example_metadata.xml' Guid='{D9852008-249D-405D-8059-5DAD307D2723}' Permanent='yes'>
59 <File KeyPath='yes' Name='example-metadata.xml' />
61 <Component Id='example_shibboleth2.xml' Guid='{85415A41-2B4E-406F-9CFC-63CFC360A9C7}' Permanent='yes'>
62 <File KeyPath='yes' Name='example-shibboleth2.xml' />
64 <Component Id='keygen.bat' Guid='{A5BBCB8B-42B3-4402-B66D-66D2971F509F}'>
65 <File KeyPath='yes' Name='keygen.bat'/>
67 <Component Id='xsltproc.js' Guid='{B87F4A53-3C37-45DA-BE6F-C46790FA7C2D}'>
68 <File KeyPath='yes' Name='xsltproc.js' />
70 <Directory Id='etc_shibboleth_dist' Name='dist' FileSource='$(var.SPBuildDirectory)\cpp-sp\configs'>
71 <Component Id='apache.config.in' Guid='{AF4EB2B1-2489-4E39-A89E-1CA7AC2B7483}'>
72 <File KeyPath='yes' Name='apache.config.in' />
74 <Component Id='apache2.config.in' Guid='{85BF72A1-FBA8-4955-ACCF-ABC83B1292C9}'>
75 <File KeyPath='yes' Name='apache2.config.in' />
77 <Component Id='apache22.config.in' Guid='{6AEBA525-8F52-4D14-BAEE-0292A2E214D1}'>
78 <File KeyPath='yes' Name='apache22.config.in' />
80 <Component Id='apache24.config.in' Guid='{3562B68A-E54A-4F1B-9F10-BDACB5FFE8CB}'>
81 <File KeyPath='yes' Name='apache24.config.in' />
83 <Component Id='sslError.html' Guid='{A74BA230-C49F-4151-BBF4-AA80D554D099}'>
84 <File KeyPath='yes' Name='sslError.html' />
86 <Component Id='bindingTemplate.html' Guid='{F5A3A434-9209-43EC-9314-1F705055DDEC}'>
87 <File KeyPath='yes' Name='bindingTemplate.html' />
89 <Component Id='globalLogout.html' Guid='{E65F580D-5489-4D79-A8FC-F9FFED666FC1}'>
90 <File KeyPath='yes' Name='globalLogout.html' />
92 <Component Id='localLogout.html' Guid='{70FA3A47-A950-4074-BC13-C56D94497BD9}'>
93 <File KeyPath='yes' Name='localLogout.html' />
95 <Component Id='attribute_map.xml' Guid='{878C9456-E65F-4541-A0FA-975379EAC6B6}'>
96 <File KeyPath='yes' Name='attribute-map.xml' />
98 <Component Id='attribute_policy.xml' Guid='{55B88F7B-E2EA-4B70-87B7-33C566B9F992}'>
99 <File KeyPath='yes' Name='attribute-policy.xml'/>
101 <Component Id='shibboleth2.xml' Guid='{E520FEDE-3F0E-47C6-9345-47223B82825A}'>
102 <File KeyPath='yes' Name='shibboleth2.xml' Source='$(var.SPBuildDirectory)\cpp-sp\configs\win-shibboleth2.xml' />
104 <Component Id='console.logger' Guid='{8AC85980-32B9-4EA2-9245-167FB1AB2570}'>
105 <File KeyPath='yes' Name='console.logger' />
107 <Component Id='discoveryTemplate.html' Guid='{A9573113-4387-46DD-A636-84482AF2C672}'>
108 <File KeyPath='yes' Name='discoveryTemplate.html' />
110 <Component Id='postTemplate.html' Guid='{5B7111E8-8E04-42F1-AB02-E47AFB7C3D28}'>
111 <File KeyPath='yes' Name='postTemplate.html' />
113 <Component Id='partialLogout.html' Guid='{E1F6208B-3C70-4632-B84C-C7D141DC4192}'>
114 <File KeyPath='yes' Name='partialLogout.html' />
116 <Component Id='protocols.xml' Guid='{B226CAAC-2D18-411A-9FBF-3FE237EBEF4D}'>
117 <File KeyPath='yes' Name='protocols.xml' />
119 <Component Id='security_policy.xml' Guid='{0EC04525-FCCF-4B60-8797-9B0CEC222B8C}'>
120 <File KeyPath='yes' Name='security-policy.xml' />
122 <Component Id='accessError.html' Guid='{6FAA81A0-A020-4E60-A37D-1EC4D0D5FD06}'>
123 <File KeyPath='yes' Name='accessError.html' />
125 <Component Id='attrChecker.html' Guid='{BDF4837C-A887-4F1C-841C-DC13DFF8A46E}'>
126 <File KeyPath='yes' Name='attrChecker.html' />
128 <Component Id='metadataError.html' Guid='{8C46D04A-A943-4FA4-AFCB-9B040306C2C0}'>
129 <File KeyPath='yes' Name='metadataError.html' />
131 <Component Id='native.logger.in' Guid='{8586D4C7-E237-4C7F-BC79-DE0B06473395}'>
132 <File KeyPath='yes' Name='native.logger.in' />
134 <Component Id='sessionError.html' Guid='{8AA240B3-DC5D-4687-B321-4F5E1BAEA820}'>
135 <File KeyPath='yes' Name='sessionError.html' />
137 <Component Id='shibd.logger.in' Guid='{D8DA3D14-F779-4691-A883-4995158D2A74}'>
138 <File KeyPath='yes' Name='shibd.logger.in' />
140 </Directory><!-- etc_shibboleth_dist -->
141 </Directory><!-- etc_shibboleth -->
142 </Directory><!-- etc_dist -->
143 <Directory Id='var' Name='var'>
144 <Directory Id='var_cache' Name='cache'>
145 <Directory Id='var_cache_shibboleth' Name='shibboleth'>
146 <Component Id='var_cache_shibboleth_folder' Guid='{6C978639-DDCF-40BD-90F8-690B3E05586C}'>
148 <!-- Kill off old env variable from pre 2.5 install.
149 Do it here so it is in the correct tables -->
150 <Environment Id='SHIBSP_SCHEMAS' Action='remove' Name='SHIBSP_SCHEMAS'/>
152 </Directory><!-- var_cache_shibboleth -->
153 </Directory><!-- var_cache -->
154 <Directory Id='var_log' Name='log'>
155 <Directory Id='var_log_shibboleth' Name='shibboleth'>
156 <Component Id='var_log_shibboleth_folder' Guid='{2BFC84E4-634B-4D70-910A-D5640739C8C8}'>
159 </Directory><!-- var_log_shibboleth -->
160 </Directory><!-- var_log -->
161 <Directory Id='var_run' Name='run'>
162 <Directory Id='var_run_shibboleth' Name='shibboleth'>
163 <Component Id='var_run_shibboleth_folder' Guid='{35E176B1-965A-4571-B24E-E0C8E69B0459}'>
166 </Directory><!-- var_run_shibboleth -->
167 </Directory><!-- var_run -->
168 </Directory><!-- var -->
171 <!-- Stuff to do the editing and copy of the files -->
173 <Binary Id='EditConfigFileSrc' SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_edit_config_files.vbs-wix' />
175 <CustomAction Id='EditConfigFiles'
176 BinaryKey='EditConfigFileSrc' VBScriptCall='' Execute='deferred' Impersonate='no' />
177 <CustomAction Id='SetEditConfigFiles' Property='EditConfigFiles' Value='[INSTALLDIR];@;[IS64BITINSTALL];@;[INSTALL_32BIT]' />
179 <CustomAction Id='KeyGen' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
180 <CustomAction Id='SetKeyGen' Property='KeyGen' Value='"[INSTALLDIR]etc\shibboleth\keygen.bat"' />
182 <!-- Stuff to configure IIS. This is a one-shot (first install/last uninstall) -->
184 <Binary Id='install_isapi'
185 SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_install_isapi_filter.vbs-wix'/>
186 <Binary Id='uninstall_isapi'
187 SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_uninstall_isapi_filter.vbs-wix'/>
189 <CustomAction Id='SetShibInstallISAPIFilter32' Property='ShibInstallISAPIFilter'
190 Value='[INSTALLDIR];@;[INSTALLDIR]lib\shibboleth\isapi_shib.dll;@;[SHIB_FILE_EXTENSION]' />
191 <CustomAction Id='SetShibInstallISAPIFilter64' Property='ShibInstallISAPIFilter'
192 Value='[INSTALLDIR];@;[INSTALLDIR]lib64\shibboleth\isapi_shib.dll;@;[SHIB_FILE_EXTENSION]' />
193 <CustomAction Id='ShibInstallISAPIFilter' BinaryKey='install_isapi'
194 VBScriptCall='' Execute='deferred' Impersonate='no' />
196 <CustomAction Id='SetShibUninstallISAPIFilter' Property='ShibUninstallISAPIFilter' Value='[INSTALLDIR]'/>
197 <CustomAction Id='ShibUninstallISAPIFilter' BinaryKey='uninstall_isapi'
198 VBScriptCall='' Execute='deferred' Impersonate='no' />
200 <CustomAction Id='ServicePath64' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
201 <CustomAction Id='SetServicePath64' Property='ServicePath64' Value='"[INSTALLDIR]etc\shibboleth\SetService64.bat"' />
203 <!-- Inherit the installation dir if one was set -->
204 <CustomAction Id='InheritInstallDir' Property='INSTALLDIR' Value='[OLD_INSTALLDIR]' />
205 <CustomAction Id='InheritInstallDir64' Property='INSTALLDIR' Value='[OLD_INSTALLDIR64]' />
208 <!-- All we need to sequence here is setting up inherited INSTALLDIR -->
210 <!-- inherit installationDir if there is something to inherit -->
211 <Custom Action='InheritInstallDir' After='AppSearch'>
214 <Custom Action='InheritInstallDir64' After='InheritInstallDir'>
215 (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64
219 <InstallExecuteSequence>
220 <Custom Action='SetEditConfigFiles' Before='CostInitialize'>NOT Installed</Custom>
221 <Custom Action='EditConfigFiles' After='InstallFiles'>NOT Installed</Custom>
223 <Custom Action='SetKeyGen' Before='CostInitialize'>NOT Installed</Custom>
224 <!-- Run KeyGen after WriteEnvironmentStrings so the path is set -->
225 <Custom Action='KeyGen' After='WriteEnvironmentStrings'>NOT Installed</Custom>
229 - AND we were told to
230 - AND this is NOT an upgrade
232 <Custom Action='SetShibInstallISAPIFilter32' Before='CostInitialize'>
233 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (INSTALL_32BIT) AND IISMAJORVERSION
235 <Custom Action='SetShibInstallISAPIFilter64' Before='CostInitialize'>
236 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND IISMAJORVERSION
238 <Custom Action='ShibInstallISAPIFilter' After='InstallFiles'>
239 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
241 <ScheduleReboot Before='InstallFinalize'>
242 (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
246 <!-- (try to) Uninstall IIS if
247 - this is an uninstall
248 - this is not an upgrade
250 <Custom Action='SetShibUninstallISAPIFilter'
251 After='CostFinalize'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>
252 <Custom Action='ShibUninstallISAPIFilter'
253 Before='RemoveFiles'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>
255 <!-- set service path to 64 bit one if this is an install and if we were told to -->
257 <Custom Action='SetServicePath64' Before='CostInitialize'>
258 (NOT Installed) AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")
260 <Custom Action='ServicePath64' After='InstallServices'>
261 (NOT Installed) AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")
264 <!-- Duplicate actions from the UI case -->
265 <Custom Action='InheritInstallDir' After='AppSearch'>
268 <Custom Action='InheritInstallDir64' After='InheritInstallDir'>
269 (NOT OLD_INSTALLDIR) AND OLD_INSTALLDIR64
272 <!-- Do not mess with SCM if this is an upgrade -->
274 <InstallServices>(NOT Installed) AND (NOT ALREADYINSTALLED)</InstallServices>
275 <StartServices>(NOT Installed)</StartServices>
276 <DeleteServices>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</DeleteServices>
278 </InstallExecuteSequence>