https://www.switch.ch/aai/docs/shibboleth/SWITCH/2.3/sp/deployment/windows-iis.html
http://www.shibboleth.net/downloads/service-provider/latest/win32/shibboleth-sp-2.4.3-win32.msi
To configure an internal time server to synchronize with an external time source, follow these steps: http://support.microsoft.com/kb/816042
After rebooting, IIS should be configured for basic support (if you asked it to do so and you installed the IIS 6 compatibility services mentioned above). If you have problems, need to manually configure it, or want to verify what happened, the IIS steps are as follows: Add the filter using the IIS Manager console. At either the top-level or individual Site level, select the “ISAPI Filters” feature; then, add a new filter called Shibboleth and specify the lib\shibboleth\isapi_shib.dll library. Map the .sso file extension to the ISAPI library so that virtual URLs can be specified to invoke the extension handler for each web site. This is done under “Handler Mappings” using the “Add Script Map…” action. The Executable box should point to isapi_shib.dll, and the “Extension” can be set to anything unlikely to conflict, but .sso is assumed (and the dot must be included). Add the Shibboleth ISAPI Extension to the list of permitted extensions in the list of allowed extensions. This is under “ISAPI and CGI Restrictions” at the top level. Restart IIS. At this point, I don't know enough of IIS7 to know how to diagnose filter load problems, but the filter does log startup and shutdown events in the Windows event log.