[shibboleth-sp2] 65/82: SSPCPP-737 IIS7 installer checkpoint.
Etienne Dysli Metref
edm-guest at moszumanska.debian.org
Thu Nov 16 08:16:26 UTC 2017
This is an automated email from the git hooks/post-receive script.
edm-guest pushed a commit to branch master
in repository shibboleth-sp2.
commit 7451bc43d5543327d1f1f5463d6a619ede8d6bc0
Author: Rod Widdowson <rdw at steadingsoftware.com>
Date: Sat Sep 16 14:49:47 2017 +0100
SSPCPP-737 IIS7 installer checkpoint.
https://issues.shibboleth.net/jira/browse/SSPCPP-737
Install the IIS7 dll.
- Add the dlls to lib and lib64, plus related (message files &c)
- Remove all the vbscript hacking to configure ISAPI
- Remove all the "is isapi configured" stuff
- Use the check box to configure IIS7 as a one off (no uninstall)
---
msi/WiX/IIsNatve.wxs | 107 --------------
msi/WiX/Installer.make | 6 +-
msi/WiX/ShibbolethSP-defs-x86.wxi | 4 +-
msi/WiX/ShibbolethSP-exe-x64.wxs | 6 +
msi/WiX/ShibbolethSP-exe-x86.wxs | 6 +
msi/WiX/ShibbolethSP-install-dlg.wxs | 29 ++--
msi/WiX/ShibbolethSP-main-x64.wxs | 54 ++++++-
msi/WiX/ShibbolethSP-main-x86.wxs | 43 +++++-
msi/WiX/ShibbolethSP-noarch.wxs | 48 +------
msi/WiX/ShibbolethSP-properties.wxi | 5 +-
msi/WiX/ShibbolethSP-registry-x64.wxs | 17 ---
msi/WiX/ShibbolethSP-registry-x86.wxs | 17 ---
msi/scripts/shib_install_isapi_filter.vbs-wix | 180 ------------------------
msi/scripts/shib_uninstall_isapi_filter.vbs-wix | 164 ---------------------
14 files changed, 114 insertions(+), 572 deletions(-)
diff --git a/msi/WiX/IIsNatve.wxs b/msi/WiX/IIsNatve.wxs
deleted file mode 100644
index fa32f2b..0000000
--- a/msi/WiX/IIsNatve.wxs
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-
- <Product Id="*" Name="Shibboleth IIS native server support: Downlevel installer " Language="1033"
- Version="0.2.0.0" Manufacturer="Shibboleth Consortium"
- UpgradeCode="5d2542f1-deb7-41ef-a20f-4f85e5f66a71">
- <Package Description="IISNative DownLevel Installer" InstallerVersion="301" Compressed="yes" InstallScope="perMachine" Platform="x64" />
-
- <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." AllowSameVersionUpgrades="yes" MigrateFeatures='yes' />
- <MediaTemplate EmbedCab="yes"/>
-
- <Upgrade Id="$(var.ShibbolethUpgradeCode)">
- <UpgradeVersion Property="FOUNDSHIB" Minimum="2.6.0.0" Maximum="2.7.0.0" OnlyDetect="yes"/>
- </Upgrade>
- <Condition Message="Existing Shibboleth Installation not found">FOUNDSHIB OR Installed</Condition>
- <Condition Message="IIS Not Found">IISMAJORVERSION</Condition>
- <Condition Message="Requries IIS7 or later">IISMAJORVERSION <> "#6"</Condition>
- <Condition Message="Install Dir Not Found">INSTALLDIR</Condition>
-
- <Feature Id="IIsNative" Title="IisNative" Level="1">
- <ComponentRef Id="iis7" />
- <ComponentRef Id="iis7D"/>
- <ComponentRef Id="native_sp_config.xsd"/>
- <ComponentRef Id="isapi_shib64.dll"/>
- <ComponentRef Id="isapi_shib64.dll_debug"/>
- <ComponentRef Id="PublicRWKey"/>
- </Feature>
-
- <Directory Id="TARGETDIR" Name="SourceDir">
- <Directory Id="opt" Name="opt">
- <Directory Id="INSTALLDIR" Name="shibboleth-sp"/>
- </Directory>
- <Directory Id="CommonAppDataFolder" Name="CommonFiles" >
- <Directory Id="Shibboleth" Name="Shibboleth" >
- <Directory Id="SP" Name="SP" >
- <Directory Id="xml" Name="xml" >
- <Directory Id="xml_shibboleth" Name="shibboleth" FileSource="$(var.SPBuildDirectory)\cpp-sp\schemas" >
- <Component Id="native_sp_config.xsd" Guid="{5514B435-94AB-4A92-9737-0BEB78C146C8}">
- <File KeyPath="yes" Id="native_sp_config.xsd" Name="shibboleth-2.0-native-sp-config.xsd" />
- </Component>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
- </Directory>
-
- <DirectoryRef Id="INSTALLDIR">
- <Directory Id="lib64" Name="lib64">
- <Directory Id="lib64_shibboleth" Name="shibboleth" FileSource="$(var.SPBuildDirectory)\cpp-sp\Build\$(var.MsVCVersion)\x64\Release">
- <Component Guid="{17B76ADE-0ECE-4214-809F-F32B3AB13D54}" Win64="yes" Id="iis7">
- <File KeyPath="yes" Checksum="yes" Name="iis7_shib.dll" Id="iis7_shib_dll"/>
- </Component>
- <Component Id="isapi_shib64.dll" Guid="{3BC7260B-D035-4F79-A39E-EDA0181BBB1B}" Win64="yes">
- <File KeyPath="yes" Checksum="yes" Id="isapi_shib64.dll" Name="isapi_shib.dll" />
- </Component>
- <Directory Id="lib64_shibboleth_debug" Name="debug" FileSource="$(var.SPBuildDirectory)\cpp-sp\Build\$(var.MsVCVersion)\x64\Debug">
- <Component Guid="{C6071995-5BFC-4F43-AE02-E6C6510983C5}" Win64="yes" Id="iis7D">
- <File KeyPath="yes" Checksum="yes" Name="iis7_shib.dll"/>
- </Component>
- <Component Id="isapi_shib64.dll_debug" Guid="{60BC5679-A40E-42E5-9FC0-CCE924E660ED}" Win64="yes">
- <File KeyPath="yes" Checksum="yes" Id="isapi_shib64.dll_debug" Name="isapi_shib.dll" />
- </Component>
- </Directory>
- </Directory>
- </Directory>
- <Component Id="PublicRWKey" Guid="{1D9E7BAE-12FD-459C-B1BB-4B70E916B711}" Win64="yes" Permanent="yes">
- <RegistryKey ForceCreateOnInstall="yes" Root="HKLM" Key="SOFTWARE\Shibboleth\PublicRWKey">
- <Permission User="Everyone" GenericAll="yes"/>
- <RegistryValue KeyPath="yes" Name="KeyPath" Value="0" Type="integer">
- <Permission User="Everyone" GenericAll="yes"/>
- </RegistryValue>
- </RegistryKey>
- </Component>
- </DirectoryRef>
-
- <CustomAction Id="SetQtInstall" Property="QtInstall"
- Value=""[%systemroot]\system32\inetsrv\appcmd.exe" install module /name:ShibNative /image:"[#iis7_shib_dll]" /debug" />
- <CustomAction Id="QtInstall" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Impersonate="no" />
-
- <CustomAction Id="SetQtUninstall" Property="QtUninstall"
- Value=""[%systemroot]\system32\inetsrv\appcmd.exe" uninstall module ShibNative" />
- <CustomAction Id="QtUninstall" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Impersonate="no" />
-
- <InstallExecuteSequence>
- <Custom Action="SetQtInstall" After="InstallFiles">$iis7 = 3</Custom> <!-- action = local == install -->
- <Custom Action="QtInstall" After="SetQtInstall">$iis7 = 3</Custom>
- <Custom Action="SetQtUninstall" After="CostFinalize">$iis7 = 2</Custom><!-- action = absent == uninstall -->
- <Custom Action="QtUninstall" Before="RemoveFiles">$iis7 = 2</Custom>
- </InstallExecuteSequence>
-
- <!-- From ShibbolethSP-noarch -->
- <CustomAction Id="InheritInstallDir" Property="INSTALLDIR" Value="[OLD_INSTALLDIR]" />
- <InstallExecuteSequence>
- <Custom Action="InheritInstallDir" Before="LaunchConditions">OLD_INSTALLDIR</Custom>
- </InstallExecuteSequence>
- <InstallUISequence>
- <Custom Action="InheritInstallDir" Before="LaunchConditions">OLD_INSTALLDIR</Custom>
- </InstallUISequence>
- <Property Id="OLD_INSTALLDIR" Secure="yes">
- <RegistrySearch Id="OldInstallDir64" Root="HKLM" Key="SOFTWARE\Shibboleth"
- Name="InstallDir" Type="directory" Win64="yes"/>
- </Property>
- <PropertyRef Id="IISMAJORVERSION" />
-
- </Product>
-</Wix>
diff --git a/msi/WiX/Installer.make b/msi/WiX/Installer.make
index 4691c07..0f9cd70 100644
--- a/msi/WiX/Installer.make
+++ b/msi/WiX/Installer.make
@@ -62,7 +62,7 @@ Shibboleth.wixlib: ShibbolethSP-noarch.wixobj ShibbolethSP-exe-x86.wixobj Shibbo
#
# Individual files
#
-ShibbolethSP-exe-x64.wixobj: ShibbolethSP-exe-x64.wxs ..\..\Build\$(MsVCVersion)\x64\Release\shibd.exe ..\..\Build\$(MsVCVersion)\x64\Release\resolvertest.exe ..\..\Build\$(MsVCVersion)\x64\Release\mdquery.exe ..\..\Build\$(MsVCVersion)\x64\Release\adfs.so ..\..\Build\$(MsVCVersion)\x64\Release\adfs-lite.so ..\..\Build\$(MsVCVersion)\x64\Release\isapi_shib.dll ..\..\Build\$(MsVCVersion)\x64\Release\odbc-store.so ..\..\Build\$(MsVCVersion)\x64\Release\plugins.so ..\..\Build\$(MsVCVersion) [...]
+ShibbolethSP-exe-x64.wixobj: ShibbolethSP-exe-x64.wxs ..\..\Build\$(MsVCVersion)\x64\Release\shibd.exe ..\..\Build\$(MsVCVersion)\x64\Release\resolvertest.exe ..\..\Build\$(MsVCVersion)\x64\Release\mdquery.exe ..\..\Build\$(MsVCVersion)\x64\Release\adfs.so ..\..\Build\$(MsVCVersion)\x64\Release\adfs-lite.so ..\..\Build\$(MsVCVersion)\x64\Release\isapi_shib.dll ..\..\Build\$(MsVCVersion)\x64\Release\iis7_shib.dll ..\..\Build\$(MsVCVersion)\x64\Release\odbc-store.so ..\..\Build\$(MsVCVersi [...]
wixcop -indent:2 ShibbolethSP-exe-x64.wxs
candle -dSPBuildDirectory=$(SolutionDir).. -dMsVCVersion=$(MsVCVersion) ShibbolethSP-exe-x64.wxs -dFCGI="$(FCGI_AUTH_RESP64)"
@@ -70,11 +70,11 @@ ShibbolethSP-registry-x64.wixobj: ShibbolethSP-registry-x64.wxs
wixcop -indent:2 ShibbolethSP-registry-x64.wxs
candle -dSPBuildDirectory=$(SolutionDir).. -dMsVCVersion=$(MsVCVersion) ShibbolethSP-registry-x64.wxs
-ShibbolethSP-noarch.wixobj: ShibbolethSP-noarch.wxs ..\scripts\shib_install_isapi_filter.vbs-wix ..\scripts\shib_uninstall_isapi_filter.vbs-wix ..\scripts\shib_edit_config_files.vbs-wix
+ShibbolethSP-noarch.wixobj: ShibbolethSP-noarch.wxs ..\scripts\shib_edit_config_files.vbs-wix
wixcop -indent:2 ShibbolethSP-noarch.wxs
candle -dSPBuildDirectory=$(SolutionDir).. -dMsVCVersion=$(MsVCVersion) ShibbolethSP-noarch.wxs
-ShibbolethSP-exe-x86.wixobj: ShibbolethSP-exe-x86.wxs ..\..\Build\$(MsVCVersion)\Release\shibd.exe ..\..\Build\$(MsVCVersion)\Release\resolvertest.exe ..\..\Build\$(MsVCVersion)\Release\mdquery.exe ..\..\Build\$(MsVCVersion)\Release\adfs.so ..\..\Build\$(MsVCVersion)\Release\adfs-lite.so ..\..\Build\$(MsVCVersion)\Release\isapi_shib.dll ..\..\Build\$(MsVCVersion)\Release\odbc-store.so ..\..\Build\$(MsVCVersion)\Release\plugins.so ..\..\Build\$(MsVCVersion)\Release\plugins-lite.so $(FCGI [...]
+ShibbolethSP-exe-x86.wixobj: ShibbolethSP-exe-x86.wxs ..\..\Build\$(MsVCVersion)\Release\shibd.exe ..\..\Build\$(MsVCVersion)\Release\resolvertest.exe ..\..\Build\$(MsVCVersion)\Release\mdquery.exe ..\..\Build\$(MsVCVersion)\Release\adfs.so ..\..\Build\$(MsVCVersion)\Release\adfs-lite.so ..\..\Build\$(MsVCVersion)\Release\iis7_shib.dll ..\..\Build\$(MsVCVersion)\Release\isapi_shib.dll ..\..\Build\$(MsVCVersion)\Release\odbc-store.so ..\..\Build\$(MsVCVersion)\Release\plugins.so ..\..\Bu [...]
wixcop -indent:2 ShibbolethSP-exe-x86.wxs
candle -dSPBuildDirectory=$(SolutionDir).. -dMsVCVersion=$(MsVCVersion) ShibbolethSP-exe-x86.wxs -dNSApi="$(NSAPI_DLLS)" -dFCGI="$(FCGI_AUTH_RESP86)"
diff --git a/msi/WiX/ShibbolethSP-defs-x86.wxi b/msi/WiX/ShibbolethSP-defs-x86.wxi
index bbe051b..cd230dd 100644
--- a/msi/WiX/ShibbolethSP-defs-x86.wxi
+++ b/msi/WiX/ShibbolethSP-defs-x86.wxi
@@ -49,6 +49,7 @@
<ComponentRef Id="adfs.so" />
<ComponentRef Id="adfs_lite.so" />
<ComponentRef Id="isapi_shib.dll" />
+ <ComponentRef Id="iis7_shib.dll" />
<ComponentRef Id="mod_shib_22.so" />
<?if $(var.NSApi) != "" ?>
<ComponentRef Id="nsapi_shib.dll" />
@@ -65,6 +66,7 @@
<ComponentRef Id="adfs.so_debug" />
<ComponentRef Id="adfs_lite.so_debug" />
<ComponentRef Id="isapi_shib.dll_debug" />
+ <ComponentRef Id="iis7_shib.dll_debug" />
<ComponentRef Id="mod_shib_22.so_debug" />
<?if $(var.NSApi) != "" ?>
<ComponentRef Id="nsapi_shib.dll_debug" />
@@ -83,7 +85,5 @@
<!-- ShibbolethSP-registry-x32 -->
<ComponentRef Id="TargetDir" />
- <ComponentRef Id="InstallIsapi" />
- <ComponentRef Id="file_extension" />
<ComponentRef Id="shib.ico" />
</Include>
diff --git a/msi/WiX/ShibbolethSP-exe-x64.wxs b/msi/WiX/ShibbolethSP-exe-x64.wxs
index ec6d190..875d643 100644
--- a/msi/WiX/ShibbolethSP-exe-x64.wxs
+++ b/msi/WiX/ShibbolethSP-exe-x64.wxs
@@ -48,6 +48,9 @@
<Component Id='isapi_shib64.dll' Guid='{3BC7260B-D035-4F79-A39E-EDA0181BBB1B}' Win64='yes'>
<File KeyPath='yes' Checksum='yes' Id='isapi_shib64.dll' Name='isapi_shib.dll' />
</Component>
+ <Component Id='iis7_shib64.dll' Guid='{17B76ADE-0ECE-4214-809F-F32B3AB13D54}' Win64='yes'>
+ <File KeyPath='yes' Checksum='yes' Id='iis7_shib64.dll' Name='iis7_shib.dll' />
+ </Component>
<Component Id='mod_shib_2264.so' Guid='{3C8F67F5-C7C2-40DB-94AB-A26266C113C8}' Win64='yes'>
<File KeyPath='yes' Checksum='yes' Id='mod_shib_2264.so' Name='mod_shib_22.so' />
</Component>
@@ -81,6 +84,9 @@
<Component Id='isapi_shib64.dll_debug' Guid='{60BC5679-A40E-42E5-9FC0-CCE924E660ED}' Win64='yes'>
<File KeyPath='yes' Checksum='yes' Id='isapi_shib64.dll_debug' Name='isapi_shib.dll' />
</Component>
+ <Component Id='iis7_shib64.dll_debug' Guid='{C6071995-5BFC-4F43-AE02-E6C6510983C5}' Win64='yes'>
+ <File KeyPath='yes' Checksum='yes' Id='iis7_shib64.dll_debug' Name='iis7_shib.dll' />
+ </Component>
<Component Id='mod_shib_2264.so_debug' Guid='{59FE3C18-1920-48A0-80BC-7ECF8579E441}' Win64='yes'>
<File KeyPath='yes' Checksum='yes' Id='mod_shib_2264.so_debug' Name='mod_shib_22.so' />
</Component>
diff --git a/msi/WiX/ShibbolethSP-exe-x86.wxs b/msi/WiX/ShibbolethSP-exe-x86.wxs
index 5cce678..4d09437 100644
--- a/msi/WiX/ShibbolethSP-exe-x86.wxs
+++ b/msi/WiX/ShibbolethSP-exe-x86.wxs
@@ -48,6 +48,9 @@
<Component Id='isapi_shib.dll' Guid='{716D6F4F-4185-4219-B1BA-1D15F867926E}'>
<File KeyPath='yes' Checksum='yes' Name='isapi_shib.dll' />
</Component>
+ <Component Id='iis7_shib.dll' Guid='{2DC61347-E3C9-467c-8530-6A369B53C729}'>
+ <File KeyPath='yes' Checksum='yes' Name='iis7_shib.dll' />
+ </Component>
<Component Id='mod_shib_22.so' Guid='{BB889066-3EF2-43C5-BC4D-CD6B1DC4AE7B}'>
<File KeyPath='yes' Checksum='yes' Name='mod_shib_22.so' />
</Component>
@@ -86,6 +89,9 @@
<Component Id='isapi_shib.dll_debug' Guid='{F8212D30-0BA8-4F02-B595-E8E5D312342B}'>
<File KeyPath='yes' Checksum='yes' Id='isapi_shib.dll_debug' Name='isapi_shib.dll' />
</Component>
+ <Component Id='iis7_shib.dll_debug' Guid='{24FC91C7-1401-4ac1-BC14-E881E47D88BD}'>
+ <File KeyPath='yes' Checksum='yes' Id='iis7_shib.dll_debug' Name='iis7_shib.dll' />
+ </Component>
<Component Id='mod_shib_22.so_debug' Guid='{3DA4492F-C0EA-4286-9C37-13F82342FA67}'>
<File KeyPath='yes' Checksum='yes' Id='mod_shib_22.so_debug' Name='mod_shib_22.so' />
</Component>
diff --git a/msi/WiX/ShibbolethSP-install-dlg.wxs b/msi/WiX/ShibbolethSP-install-dlg.wxs
index 80091a4..6c3bfd1 100644
--- a/msi/WiX/ShibbolethSP-install-dlg.wxs
+++ b/msi/WiX/ShibbolethSP-install-dlg.wxs
@@ -26,8 +26,7 @@
<!-- This Dialog sets up:
- INSTALLDIR
- INSTALL_32BIT (if a 64bit machine)
- - INSTALL_ISAPI_FILTER (if IIS about)
- - SHIB_FILE_EXTENSION (if IIS about)
+ - INSTALL_IIS7_PLUGIN (if IIS about)
-->
<Dialog Id='InstallDirDlgShib' Width='370' Height='270' Title='[ProductName] Setup'>
@@ -62,30 +61,18 @@
<!-- 32 Bits? -->
<Control Id='Install32Bit' Type='CheckBox' X='265' Y='146' Height='17' Width='80'
- Property='INSTALL_32BIT' CheckBoxValue='TRUE'
+ Property='INSTALL_32BIT' CheckBoxValue='TRUE'
Text='Run as 32-Bit'>
<Condition Action='show'>IS64BITINSTALL = "TRUE"</Condition>
<Condition Action='hide'>IS64BITINSTALL <> "TRUE"</Condition>
</Control>
- <!-- ISAPI? -->
- <Control Id='InstallISAPI' Type='CheckBox' X='25' Y='175' Height='17' Width='160'
- Property='INSTALL_ISAPI_FILTER' CheckBoxValue='TRUE'
- Text='Install ISAPI modules into IIS'>
- <Condition Action='show'>IISMAJORVERSION</Condition>
- <Condition Action='hide'>NOT IISMAJORVERSION</Condition>
- </Control>
- <Control Id='FileExtensionText' Type='Text' X='185' Y='178' Height='17' Width='96'
- Text='IIS Script Extension'>
- <Condition Action='show'>IISMAJORVERSION</Condition>
- <Condition Action='hide'>NOT IISMAJORVERSION</Condition>
- </Control>
- <Control Id='FileExtensionEdit' Type='Edit' X='285' Y='175' Height='17' Width='50'
- Property='SHIB_FILE_EXTENSION' Text='[SHIB_FILE_EXTENSION]'>
- <Condition Action='show'>IISMAJORVERSION</Condition>
- <Condition Action='hide'>NOT IISMAJORVERSION</Condition>
- <Condition Action='enable'>INSTALL_ISAPI_FILTER = "TRUE"</Condition>
- <Condition Action='disable'>INSTALL_ISAPI_FILTER <> "TRUE"</Condition>
+ <!-- IIS7 Plugin -->
+ <Control Id='InstallIIS7' Type='CheckBox' X='25' Y='175' Height='17' Width='160'
+ Property='INSTALL_IIS7_PLUGIN' CheckBoxValue='TRUE'
+ Text='Configure IIS7 modules'>
+ <Condition Action='show'>IISMAJORVERSION AND (IISMAJORVERSION <> "#6")</Condition>
+ <Condition Action='hide'>NOT IISMAJORVERSION OR (IISMAJORVERSION = "#6")</Condition>
</Control>
<!-- Stuff at the bottom: line, Back,Next, [space] Cancel -->
diff --git a/msi/WiX/ShibbolethSP-main-x64.wxs b/msi/WiX/ShibbolethSP-main-x64.wxs
index 4136124..905adcd 100644
--- a/msi/WiX/ShibbolethSP-main-x64.wxs
+++ b/msi/WiX/ShibbolethSP-main-x64.wxs
@@ -29,9 +29,9 @@
<PropertyRef Id='SHIB_OLDVERSION_64'/>
<PropertyRef Id='SHIB_OLDVERSION'/>
- <Condition Message='Shibboleth requires Windows XP SP2 or later.'>NOT VersionNT OR (VersionNT >= 501)</Condition>
+ <Condition Message='Shibboleth requires Windows Vista or later.'>NOT VersionNT OR (VersionNT >= 600)</Condition>
<Condition Message='Shibboleth requires a Windows NT-based operating system.'>NOT Version9X</Condition>
- <Condition Message='You must uninstall recent versions of Shibboleth before using this installer. To uninstall, use the "Change" option from the Add/Remove dialog and then Remove. Attempting to uninstall directly causes the installer to hang on most systems.'>(SHIB_OLDVERSION = "none") AND (SHIB_OLDVERSION_64 = "none")</Condition>
+ <Condition Message='You must uninstall very old versions of Shibboleth before using this installer. To uninstall, use the "Change" option from the Add/Remove dialog and then Remove. Attempting to uninstall directly causes the installer to hang on most systems.'>(SHIB_OLDVERSION = "none") AND (SHIB_OLDVERSION_64 = "none")</Condition>
<Media Id='1' Cabinet='product.cab' EmbedCab='yes' />
@@ -147,6 +147,7 @@
<ComponentRef Id='adfs64.so'/>
<ComponentRef Id='adfs_lite64.so'/>
<ComponentRef Id='isapi_shib64.dll'/>
+ <ComponentRef Id='iis7_shib64.dll'/>
<ComponentRef Id='mod_shib_2264.so'/>
<ComponentRef Id='mod_shib_2464.so'/>
<ComponentRef Id='odbc_store64.so'/>
@@ -160,6 +161,7 @@
<ComponentRef Id='adfs64.so_debug'/>
<ComponentRef Id='adfs_lite64.so_debug'/>
<ComponentRef Id='isapi_shib64.dll_debug'/>
+ <ComponentRef Id='iis7_shib64.dll_debug'/>
<ComponentRef Id='mod_shib_2264.so_debug'/>
<ComponentRef Id='mod_shib_2464.so_debug'/>
<ComponentRef Id='odbc_store64.so_debug'/>
@@ -175,9 +177,7 @@
<!-- ShibbolethSP-registry-x64 -->
<ComponentRef Id='TargetDir64'/>
- <ComponentRef Id='InstallIsapi64'/>
<ComponentRef Id='Install32Bit64'/>
- <ComponentRef Id='file_extension64'/>
<ComponentRef Id='shib64.ico'/>
<!-- ShibbolethSP-main-x64 -->
@@ -189,8 +189,8 @@
<?include ShibbolethSP-defs-x86.wxi ?>
- <!-- We put in the messages for Isapi and Shibd in this module since all
- others are shared with x86
+ <!--
+ We put the messages for IIS7 and Shibd in this module since all others are shared with x86
-->
<Component Id='messageFile' Guid='{3FF89632-9F39-4B1B-AA3E-3AF6C8155B92}' Win64='yes' Directory='bin64'>
<File Id='Messages' KeyPath='yes' Source='$(var.SPBuildDirectory)\cpp-sp\Build\$(var.MsVCVersion)\x64\Release\Messages.dll'/>
@@ -209,7 +209,49 @@
<RegistryValue Name='ParameterMessageFile' Type='string' Value='[#Messages]'/>
</RegistryKey>
</Component>
+ <Component Id='messageIIS7' Guid='{1CC5CF4A-6203-4ab8-9743-4A79C95D30CE}' Win64='yes' Directory='bin64'>
+ <RegistryKey Root='HKLM' Key='SYSTEM\CurrentControlSet\services\eventlog\Application\Shibboleth NATIVE Filter'>
+ <RegistryValue Name='CategoryCount' Type='integer' Value='2'/>
+ <RegistryValue Name='TypeSupported' Type='integer' Value='15'/>
+ <RegistryValue Name='CategoryMessageFile' Type='string' Value='[#Messages]'/>
+ <RegistryValue Name='EventMessageFile' Type='string' Value='[#Messages]'/>
+ <RegistryValue Name='ParameterMessageFile' Type='string' Value='[#Messages]'/>
+ </RegistryKey>
+ </Component>
</Feature>
+
+ <!-- Also put in the configuration for IIS7 - There is a difference between 32 and 64 bit dlls and
+ between 32 and 64 bit registration -->
+
+ <CustomAction Id='SetQtInstallIIS32' Property='QtInstallIIS32'
+ Value='"[WindowsFolder]\System32\InetSrv\appcmd.exe" install module /name:ShibNative32 /image:"[#iis7_shib.dll]" /precondition:"bitness32"'/>
+ <CustomAction Id='SetQtInstallIIS64' Property='QtInstallIIS64'
+ Value='"[WindowsFolder]\System32\InetSrv\appcmd.exe" install module /name:ShibNative /image:"[#iis7_shib64.dll]" /precondition:"bitness64"'/>
+ <CustomAction Id='QtInstallIIS32' BinaryKey='WixCA' DllEntry='CAQuietExec64' Execute='deferred' Impersonate='no'/>
+ <CustomAction Id='QtInstallIIS64' BinaryKey='WixCA' DllEntry='CAQuietExec64' Execute='deferred' Impersonate='no'/>
+
+ <InstallExecuteSequence>
+ <!-- Install IIS if
+ - this is an install
+ - AND we were told to
+ - AND this is NOT an upgrade
+ -->
+ <Custom Action='SetQtInstallIIS32' Before='InstallFiles'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </Custom>
+ <Custom Action='SetQtInstallIIS64' After='InstallFiles'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </Custom>
+ <Custom Action='QtInstallIIS32' After='SetQtInstallIIS32'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </Custom>
+ <Custom Action='QtInstallIIS64' After='SetQtInstallIIS64'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </Custom>
+ <ScheduleReboot Before='InstallFinalize'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </ScheduleReboot>
+ </InstallExecuteSequence>
</Product>
</Wix>
diff --git a/msi/WiX/ShibbolethSP-main-x86.wxs b/msi/WiX/ShibbolethSP-main-x86.wxs
index 062d9f4..70da4d2 100644
--- a/msi/WiX/ShibbolethSP-main-x86.wxs
+++ b/msi/WiX/ShibbolethSP-main-x86.wxs
@@ -28,9 +28,9 @@
<PropertyRef Id='SHIB_OLDVERSION'/>
- <Condition Message='Shibboleth requires Windows XP SP2 or later.'>NOT VersionNT OR (VersionNT >= 501)</Condition>
+ <Condition Message='Shibboleth requires Windows Vista or later.'>NOT VersionNT OR (VersionNT >= 600)</Condition>
<Condition Message='Shibboleth requires a Windows NT-based operating system.'>NOT Version9X</Condition>
- <Condition Message='You must uninstall recent versions of Shibboleth before using this installer. To uninstall, use the "Change" option from the Add/Remove dialog and then Remove. Attempting to uninstall directly causes the installer to hang on most systems.'>SHIB_OLDVERSION = "none"</Condition>
+ <Condition Message='You must uninstall very old versions of Shibboleth before using this installer. To uninstall, use the "Change" option from the Add/Remove dialog and then Remove. Attempting to uninstall directly causes the installer to hang on most systems.'>(SHIB_OLDVERSION = "none") AND (SHIB_OLDVERSION_64 = "none")</Condition>
<Condition Message='For a 32-bit installation on a 64-bit architecture, install the 64-bit MSI but specify 32-bit defaults'>NOT VersionNT64</Condition>
@@ -100,8 +100,8 @@
<?include ShibbolethSP-defs-x86.wxi ?>
- <!-- We put in the messages for Isapi and Shibd in this module since all
- others are shared with x64
+ <!--
+ We put in the messages for Isapi and Shibd in this module since all others are shared with x64
-->
<Component Id='messageFile' Guid='{7B81ACC5-B79C-426B-ACB8-346A52E5FF60}' Win64='no' Directory='bin'>
<File Id='Messages' KeyPath='yes' Source='$(var.SPBuildDirectory)\cpp-sp\Build\$(var.MsVCVersion)\Release\Messages.dll'/>
@@ -120,7 +120,42 @@
<RegistryValue Name='ParameterMessageFile' Type='string' Value='[#Messages]'/>
</RegistryKey>
</Component>
+ <Component Id='messageIIS7' Guid='{FDEB81BA-4935-49c2-84FE-E58F674F5FF3}' Win64='no' Directory='bin'>
+ <RegistryKey Root='HKLM' Key='SYSTEM\CurrentControlSet\services\eventlog\Application\Shibboleth NATIVE Filter'>
+ <RegistryValue Name='CategoryCount' Type='integer' Value='2'/>
+ <RegistryValue Name='TypeSupported' Type='integer' Value='15'/>
+ <RegistryValue Name='CategoryMessageFile' Type='string' Value='[#Messages]'/>
+ <RegistryValue Name='EventMessageFile' Type='string' Value='[#Messages]'/>
+ <RegistryValue Name='ParameterMessageFile' Type='string' Value='[#Messages]'/>
+ </RegistryKey>
+ </Component>
+
</Feature>
+
+ <!-- Also put in the configuration for IIS7 - There is a difference between 32 and 64 bit dlls and
+ between 32 and 64 bit registration -->
+
+ <CustomAction Id='SetQtInstallIIS' Property='QtInstallIIS'
+ Value='"[WindowsFolder]\System32\InetSrv\appcmd.exe" install module /name:ShibNative /image:"[#iis7_shib.dll]"'/>
+
+ <CustomAction Id='QtInstallIIS' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
+
+ <InstallExecuteSequence>
+ <!-- Install IIS if
+ - this is an install
+ - AND we were told to
+ - AND this is NOT an upgrade
+ -->
+ <Custom Action='SetQtInstallIIS' Before='InstallFiles'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </Custom>
+ <Custom Action='QtInstallIIS' After='SetQtInstallIIS'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </Custom>
+ <ScheduleReboot Before='InstallFinalize'>
+ (NOT Installed) AND IISMAJORVERSION AND (IISMAJORVERSION <> "#6") AND INSTALL_IIS7_PLUGIN
+ </ScheduleReboot>
+ </InstallExecuteSequence>
</Product>
</Wix>
diff --git a/msi/WiX/ShibbolethSP-noarch.wxs b/msi/WiX/ShibbolethSP-noarch.wxs
index 406a173..78e5bc7 100644
--- a/msi/WiX/ShibbolethSP-noarch.wxs
+++ b/msi/WiX/ShibbolethSP-noarch.wxs
@@ -171,24 +171,6 @@
<CustomAction Id='KeyGen' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
<CustomAction Id='SetKeyGen' Property='KeyGen' Value='"[INSTALLDIR]etc\shibboleth\keygen.bat"' />
- <!-- Stuff to configure IIS. This is a one-shot (first install/last uninstall) -->
-
- <Binary Id='install_isapi'
- SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_install_isapi_filter.vbs-wix'/>
- <Binary Id='uninstall_isapi'
- SourceFile='$(var.SPBuildDirectory)\cpp-sp\msi\scripts\shib_uninstall_isapi_filter.vbs-wix'/>
-
- <CustomAction Id='SetShibInstallISAPIFilter32' Property='ShibInstallISAPIFilter'
- Value='[INSTALLDIR];@;[INSTALLDIR]lib\shibboleth\isapi_shib.dll;@;[SHIB_FILE_EXTENSION]' />
- <CustomAction Id='SetShibInstallISAPIFilter64' Property='ShibInstallISAPIFilter'
- Value='[INSTALLDIR];@;[INSTALLDIR]lib64\shibboleth\isapi_shib.dll;@;[SHIB_FILE_EXTENSION]' />
- <CustomAction Id='ShibInstallISAPIFilter' BinaryKey='install_isapi'
- VBScriptCall='' Execute='deferred' Impersonate='no' />
-
- <CustomAction Id='SetShibUninstallISAPIFilter' Property='ShibUninstallISAPIFilter' Value='[INSTALLDIR]'/>
- <CustomAction Id='ShibUninstallISAPIFilter' BinaryKey='uninstall_isapi'
- VBScriptCall='' Execute='deferred' Impersonate='no' />
-
<CustomAction Id='ServicePath64' BinaryKey='WixCA' DllEntry='CAQuietExec' Execute='deferred' Impersonate='no' />
<CustomAction Id='SetServicePath64' Property='ServicePath64' Value='"[INSTALLDIR]etc\shibboleth\SetService64.bat"' />
@@ -216,35 +198,7 @@
<!-- Run KeyGen after WriteEnvironmentStrings so the path is set -->
<Custom Action='KeyGen' After='WriteEnvironmentStrings'>NOT Installed</Custom>
- <!-- Install IIS if
- - this is an install
- - AND we were told to
- - AND this is NOT an upgrade
- -->
- <Custom Action='SetShibInstallISAPIFilter32' Before='CostInitialize'>
- (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (INSTALL_32BIT) AND IISMAJORVERSION
- </Custom>
- <Custom Action='SetShibInstallISAPIFilter64' Before='CostInitialize'>
- (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND IISMAJORVERSION
- </Custom>
- <Custom Action='ShibInstallISAPIFilter' After='InstallFiles'>
- (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
- </Custom>
- <ScheduleReboot Before='InstallFinalize'>
- (NOT Installed) AND (INSTALL_ISAPI_FILTER = "TRUE") AND (NOT ALREADYINSTALLED) AND IISMAJORVERSION
- </ScheduleReboot>
-
-
- <!-- (try to) Uninstall IIS if
- - this is an uninstall
- - this is not an upgrade
- -->
- <Custom Action='SetShibUninstallISAPIFilter'
- After='CostFinalize'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>
- <Custom Action='ShibUninstallISAPIFilter'
- Before='RemoveFiles'>(REMOVE="ALL") AND (NOT UPGRADINGPRODUCTCODE)</Custom>
-
- <!-- set service path to 64 bit one if this is an install and if we were told to -->
+ <!-- IIS handling is no longer architecture independant and happens in ShibbolethSP-main-x?? -->
<Custom Action='SetServicePath64' Before='CostInitialize'>
(NOT Installed) AND (NOT ALREADYINSTALLED) AND (NOT INSTALL_32BIT) AND (IS64BITINSTALL = "TRUE")
diff --git a/msi/WiX/ShibbolethSP-properties.wxi b/msi/WiX/ShibbolethSP-properties.wxi
index 223e92b..0834701 100644
--- a/msi/WiX/ShibbolethSP-properties.wxi
+++ b/msi/WiX/ShibbolethSP-properties.wxi
@@ -23,10 +23,7 @@
<Include xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<!-- Are we installing IIS, if so what extension to used -->
- <Property Id='INSTALL_ISAPI_FILTER' Value='TRUE' Secure='yes' />
- <Property Id='SHIB_FILE_EXTENSION' Value='.sso' Secure='yes'>
- <RegistrySearch Id='AppReg' Root='HKLM' Key='SOFTWARE\Shibboleth' Name='FileExtension' Type='raw' />
- </Property>
+ <Property Id='INSTALL_IIS_PLUGIN' Value='TRUE' Secure='yes' />
<!-- Information for the properties page of the msi -->
diff --git a/msi/WiX/ShibbolethSP-registry-x64.wxs b/msi/WiX/ShibbolethSP-registry-x64.wxs
index 3d236a9..51e6068 100644
--- a/msi/WiX/ShibbolethSP-registry-x64.wxs
+++ b/msi/WiX/ShibbolethSP-registry-x64.wxs
@@ -60,11 +60,6 @@
Name='InstallDir' Type='directory' Win64='yes'/>
</Property>
- <Property Id='OLD_INSTALL_ISAPI_FILTER64' Secure='yes'>
- <RegistrySearch Id='OldInstallIsapi64' Root='HKLM' Key='SOFTWARE\Shibboleth'
- Name='InstallIsapi' Type='raw' Win64='yes'/>
- </Property>
-
<!-- 64 bit only -->
<Property Id='OLD_INSTALL_32BIT' Secure='yes'>
<RegistrySearch Id='OldInstall32Bit' Root='HKLM' Key='SOFTWARE\Shibboleth'
@@ -83,18 +78,6 @@
Name='Install32Bit' Value='[INSTALL_32BIT]' Type='string' KeyPath='yes' />
</Component>
- <Component Id='InstallIsapi64' Guid='{288F97F5-E2E8-48DB-8291-B8445B77BA45}' Win64='yes'>
- <Condition>IISMAJORVERSION</Condition>
- <RegistryValue Id='InstallIsapi64' Root='HKLM' Key='SOFTWARE\Shibboleth'
- Name='InstallIsapi' Value='[INSTALL_ISAPI_FILTER]' Type='string' KeyPath='yes' />
- </Component>
-
- <Component Id='file_extension64' Guid='{F17BED16-5988-4F9E-82E0-1D4DCB69EC26}' Win64='yes'>
- <Condition>INSTALL_ISAPI_FILTER = "TRUE"</Condition>
- <RegistryValue Id='FileExtension64' Root='HKLM' Key='SOFTWARE\Shibboleth'
- Name='FileExtension' Value='[SHIB_FILE_EXTENSION]' Type='string' KeyPath='yes' />
- </Component>
-
<Component Id='shib64.ico' Guid='{AB12F477-E49D-4E52-B130-AF0913AF9EC9}' Win64='yes' Permanent='yes'>
<File Id='shib64.ico' KeyPath='yes' Source='$(var.SPBuildDirectory)\cpp-sp\msi\shib.ico'/>
<RegistryValue Id='DisplayIcon64' Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode]'
diff --git a/msi/WiX/ShibbolethSP-registry-x86.wxs b/msi/WiX/ShibbolethSP-registry-x86.wxs
index 75d3afc..c7c1a43 100644
--- a/msi/WiX/ShibbolethSP-registry-x86.wxs
+++ b/msi/WiX/ShibbolethSP-registry-x86.wxs
@@ -68,11 +68,6 @@
Name='InstallDir' Type='directory' />
</Property>
- <Property Id='OLD_INSTALL_ISAPI_FILTER' Secure='yes'>
- <RegistrySearch Id='OldInstallIsapi' Root='HKLM' Key='SOFTWARE\Shibboleth'
- Name='InstallIsapi' Type='raw' />
- </Property>
-
<!-- non virtualized registry setting -->
<Property Id='OLD_SERVICEINSTALLED' Secure='yes'>
<RegistrySearch Id='OldServiceInstalled' Root='HKLM' Key='SYSTEM\CurrentControlSet\services\shibd_Default'
@@ -86,18 +81,6 @@
Name='InstallDir' Value='[INSTALLDIR]' Type='string' KeyPath='yes' />
</Component>
- <Component Id='InstallIsapi' Guid='{4F81E47D-B406-42B6-A702-90ACA666075E}' >
- <Condition>IISMAJORVERSION</Condition>
- <RegistryValue Id='InstallIsapi' Root='HKLM' Key='SOFTWARE\Shibboleth'
- Name='InstallIsapi' Value='[INSTALL_ISAPI_FILTER]' Type='string' KeyPath='yes' />
- </Component>
-
- <Component Id='file_extension' Guid='{88D0BEF3-6E15-4688-8492-9FF23B6221DF}'>
- <Condition>INSTALL_ISAPI_FILTER = "TRUE"</Condition>
- <RegistryValue Root='HKLM' Key='SOFTWARE\Shibboleth'
- Name='FileExtension' Value='[SHIB_FILE_EXTENSION]' Type='string' KeyPath='yes' />
- </Component>
-
<!-- pretty icon for the "install programs" page -->
<Component Id='shib.ico' Guid='{FA0F86A1-0731-4D66-8216-BC74D231B598}'>
<File KeyPath='yes' Source='$(var.SPBuildDirectory)\cpp-sp\msi\shib.ico' />
diff --git a/msi/scripts/shib_install_isapi_filter.vbs-wix b/msi/scripts/shib_install_isapi_filter.vbs-wix
deleted file mode 100644
index 375a97c..0000000
--- a/msi/scripts/shib_install_isapi_filter.vbs-wix
+++ /dev/null
@@ -1,180 +0,0 @@
-Dim FilterObj
-Dim LoadOrder
-Dim FilterName
-Dim FilterPath
-Dim FilterDesc
-Dim WebObj, WebSite, WebSiteRoot
-Dim existsFlag
-Dim ScriptMaps
-Dim newScriptLine
-Dim line, lineArray, lineIndex
-Dim WebSvcExts
-Dim FileSystemObj
-Dim newWebSvcExtLine
-Dim customData, msiProperties, InstallDir, ShibFileExtension, LogFile
-
-'Get the INSTALLDIR and SHIB_FILE_EXTENSION values via CustomActionData
-customData = Session.Property("CustomActionData")
-msiProperties = split(customData,";@;")
-InstallDir= msiProperties(0)
-ShibISAPIPath = msiProperties(1)
-ShibFileExtension = msiProperties(2)
-
-Set FileSystemObj = CreateObject("Scripting.FileSystemObject")
-
-Set LogFile = FileSystemObj.OpenTextFile(InstallDir & "\var\log\shibboleth\Installer.log", 8, true)
-
-LogFile.WriteLine "Configure IIS plugin DLL " & ShibISAPIPath & ", Extension = " & ShibFileExtension
-
-On Error Resume Next
-Set WebObj = GetObject("IIS://LocalHost/W3SVC")
-if (Err = 0) then
-
- 'Remove all trailing backslashes to normalize
- do while (mid(InstallDir,Len(InstallDir),1) = "\")
- InstallDir = mid(InstallDir,1,Len(InstallDir)-1)
- loop
- ' ShibISAPIPath = InstallDir & "\lib\shibboleth\isapi_shib.dll"
- 'Make sure ShibFileExtension is in proper format
- 'First, strip any preceding periods
- do while (mid(ShibFileExtension,1,1) = ".")
- ShibFileExtension = mid(ShibFileExtension,2,Len(ShibFileExtension)-1)
- loop
- 'If there is nothing left (or was nothing to begin with), use the default
- if (ShibFileExtension = "") then
- ShibFileExtension = ".sso"
- else
- 'Add preceding period
- ShibFileExtension = "." & ShibFileExtension
- end if
-
- 'Specify other ISAPI Filter details
- FilterName = "Shibboleth"
- FilterPath = ShibISAPIPath
- FilterDesc = ""
-
- Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/Filters")
- LoadOrder = FiltersObj.FilterLoadOrder
- 'Check to see if 'Shibboleth' is already sequenced
- existsFlag = "not_exist"
- lineArray = split(LoadOrder, ",")
- for each line in lineArray
- if (line = FilterName) then
- existsFlag = "exists"
- end if
- next
- if (existsFlag = "not_exist") then
- If LoadOrder <> "" Then
- LoadOrder = LoadOrder & ","
- End If
- LoadOrder = LoadOrder & FilterName
- FiltersObj.FilterLoadOrder = LoadOrder
- FiltersObj.SetInfo
- else
- 'msgbox "Shib Filter already sequenced"
- end if
-
- Set FilterObj = FiltersObj.Create("IIsFilter", FilterName)
- If (Err <> 0) then
- 'Open existing filter for updating
- Err = 0
- Set FilterObj = GetObject("IIS://LocalHost/W3SVC/Filters/" & FilterName)
- End If
- FilterObj.FilterPath = FilterPath
- FilterObj.FilterDescription = FilterDesc
- FilterObj.SetInfo
-
- 'Create file extension mapping to ISAPI filter
- newScriptLine = ShibFileExtension & "," & ShibISAPIPath & ",1"
- ScriptMaps = WebObj.ScriptMaps
- 'Check if exists
- existsFlag = "not_exist"
- lineIndex = 0
- for each line in ScriptMaps
- lineArray = split(line,",")
- if (lineArray(0) = ShibFileExtension) then
- existsFlag = "exists"
- Exit For
- end if
- lineIndex = lineIndex + 1
- next
- if (existsFlag = "not_exist") then
- redim preserve ScriptMaps(UBound(ScriptMaps)+1)
- ScriptMaps(UBound(ScriptMaps)) = newScriptLine
- WebObj.ScriptMaps = ScriptMaps
- WebObj.SetInfo
- else
- 'msgbox ".sso already exists: " & lineIndex
- 'We already warned user in dialog that this value would be updated
- ScriptMaps(lineIndex) = newScriptLine
- WebObj.ScriptMaps = ScriptMaps
- WebObj.SetInfo
- end if
-
- 'Create file extension mapping to filter on each web site root
- For Each WebSite in WebObj
- Set WebSiteRoot = GetObject(WebSite.ADsPath & "/ROOT")
- if (Err = 0) then
- ScriptMaps = WebSiteRoot.ScriptMaps
- 'Check if exists
- existsFlag = "not_exist"
- lineIndex = 0
- for each line in ScriptMaps
- lineArray = split(line,",")
- if (lineArray(0) = ShibFileExtension) then
- existsFlag = "exists"
- Exit For
- end if
- lineIndex = lineIndex + 1
- next
- if (existsFlag = "not_exist") then
- redim preserve ScriptMaps(UBound(ScriptMaps)+1)
- ScriptMaps(UBound(ScriptMaps)) = newScriptLine
- WebSiteRoot.ScriptMaps = ScriptMaps
- WebSiteRoot.SetInfo
- else
- 'msgbox ".sso already exists: " & lineIndex
- 'We already warned user in dialog that this value would be updated
- ScriptMaps(lineIndex) = newScriptLine
- WebSiteRoot.ScriptMaps = ScriptMaps
- WebSiteRoot.SetInfo
- end if
- End If
- Next
-
-
- 'Web Services Extension
- Err = 0
- WebSvcExts = WebObj.WebSvcExtRestrictionList
- if (Err = 0) then
- newWebSvcExtLine = "1," & ShibISAPIPath & ",1,ShibGroup,Shibboleth Web Service Extension"
-
- existsFlag = "not_exist"
- lineIndex = 0
- for each line in WebSvcExts
- lineArray = split(line,",")
- if (lineArray(1) = ShibISAPIPath) then
- existsFlag = "exists"
- Exit For
- end if
- lineIndex = lineIndex + 1
- next
-
- if (existsFlag = "not_exist") then
- redim preserve WebSvcExts(UBound(WebSvcExts)+1)
- WebSvcExts(UBound(WebSVCExts)) = newWebSvcExtLine
- WebObj.WebSvcExtRestrictionList = WebSvcExts
- WebObj.SetInfo
- else
- 'msgbox "Shibboleth Web Services Extension already exists: " & lineIndex
- 'We already warned user in dialog that this value would be updated
- WebSvcExts(lineIndex) = newWebSvcExtLine
- WebObj.WebSvcExtRestrictionList = WebSvcExts
- WebObj.SetInfo
- end if
-
- end if
-else
- LogFile.WriteLine " Could not locate IIS adaptor"
-'final end if
-end if
\ No newline at end of file
diff --git a/msi/scripts/shib_uninstall_isapi_filter.vbs-wix b/msi/scripts/shib_uninstall_isapi_filter.vbs-wix
deleted file mode 100644
index 979d463..0000000
--- a/msi/scripts/shib_uninstall_isapi_filter.vbs-wix
+++ /dev/null
@@ -1,164 +0,0 @@
-Sub DeleteISAPIFilters(IISPath,dllPath)
-
- Dim filter, FiltersObj, LoadOrder, FilterArray, FilterItem
-
- On Error Resume Next
- Set FiltersObj = GetObject(IISPath & "/Filters")
- if IsNull(FiltersObj) then
- exit sub
- end if
-
- On Error Resume Next
- LoadOrder = FiltersObj.FilterLoadOrder
- if IsNull(LoadOrder) then
- exit sub
- end if
-
- for each filter in FiltersObj
- if (filter.Class = "IIsFilter") then
- if (filter.FilterPath = dllPath) then
-
- 'Delete the found filter here
- 'If there's anything to potentially delete...
- if (LoadOrder <> "") then
- FilterArray = split(LoadOrder,",")
- LoadOrder = ""
- for each FilterItem in FilterArray
- if (FilterItem <> filter.Name) then
- LoadOrder = LoadOrder & FilterItem & ","
- end if
- next
- 'Remove trailing comma if any filters were kept
- if (LoadOrder <> "") then
- LoadOrder = mid(LoadOrder,1,len(LoadOrder)-1)
- end if
-
- 'Set the Load Order to the new shibboleth-less order
- if (FiltersObj.FilterLoadOrder <> LoadOrder) then
- FiltersObj.FilterLoadOrder = LoadOrder
- FiltersObj.SetInfo
- end if
- end if
-
- 'Delete the actual IISFilter object
- FiltersObj.Delete "IIsFilter",filter.Name
-
- end if
- end if
- next
-
-End Sub
-
-
-Sub DeleteFileExtensions(siteObj, dllPath)
-
-Dim ScriptMaps, newScriptMaps
-Dim line, lineArray, lineIndex
-Dim fileExtension
-Dim existsFlag
-
- On Error Resume Next
- ScriptMaps = siteObj.ScriptMaps
- if IsNull(ScriptMaps) then
- exit sub
- end if
- redim newScriptMaps(0)
- lineIndex = 0
- 'copy each entry from the old ScriptMaps to newScriptMaps
- 'unless it is for dllPath
- for each line in ScriptMaps
- lineArray = split(line,",")
- if (lineArray(1) <> dllPath) then
- redim preserve newScriptMaps(lineIndex)
- newScriptMaps(lineIndex) = line
- lineIndex = lineIndex + 1
- else
- existsFlag = "exists"
- end if
- next
- 'If we found dllPath, then use the newScriptMaps instead
- if (existsFlag = "exists") then
- siteObj.ScriptMaps = newScriptMaps
- siteObj.SetInfo
- end if
-
-End Sub
-
-Sub PerformUninstall()
-
-'*** Begin Main Code ***
-Dim WebObj
-Dim InstallDir
-Dim ShibISAPIPath
-Dim site, siteObj, sitePath
-
-On Error Resume Next
-
-' First of all look for the FileExtension
-Set WshShell = CreateObject("WScript.Shell")
-if (Err <> 0) then
- exit sub
-End if
-
-
-'Get the INSTALLDIR value via CustomActionData
-On Error Resume Next
-InstallDir = Session.Property("CustomActionData")
-if (Err <> 0) then
- exit sub
-End if
-
-On Error Resume Next
-regValue = WshShell.RegRead("HKLM\SOFTWARE\Shibboleth\FileExtension")
-if (Err = 0) then
-
- ' Registry key is still there - this is an upgrade, so exit
-
-else
- ' Key is gone - a pure uninstall
-
- 'Don't show errors, we'll handle anything important
- On Error Resume Next
-
- 'Attempt to get W3SVC. If failure, end script (e.g. IIS isn't available)
- Set WebObj = GetObject("IIS://LocalHost/W3SVC")
- if (Err = 0) then
-
- 'Remove all trailing backslashes to normalize
- do while (mid(InstallDir,Len(InstallDir),1) = "\")
- InstallDir = mid(InstallDir,1,Len(InstallDir)-1)
- loop
- ShibISAPIPath = InstallDir & "\lib\shibboleth\isapi_shib.dll"
-
- 'Delete ISAPI Filter
- 'First do the master service
- DeleteISAPIFilters "IIS://LocalHost/W3SVC",ShibISAPIPath
- 'Now do the websites
- for each site in WebObj
- if (site.Class = "IIsWebServer") then
- sitePath = "IIS://LocalHost/W3SVC/" & site.Name
- DeleteISAPIFilters sitePath,ShibISAPIPath
- end if
- next
-
- 'Delete File Extensions
- 'First do the master service
- DeleteFileExtensions WebObj,ShibISAPIPath
- 'Now do the websites
- for each site in WebObj
- if (site.Class = "IIsWebServer") then
- set siteObj = GetObject("IIS://LocalHost/W3SVC/" & site.Name & "/ROOT")
- DeleteFileExtensions siteObj,ShibISAPIPath
- end if
- next
-
- 'Delete Web Services Extension (universal, no need to do for each site)
- WebObj.DeleteExtensionFileRecord ShibISAPIPath
- ' Got the IIS Object
- End If
-' Sense whether this is an upgrade
-end if
-
-End Sub
-
-PerformUninstall()
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-shibboleth/shibboleth-sp2.git
More information about the Pkg-shibboleth-devel
mailing list