[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