I had an IIS install on Windows 7 that was set to use .NET 2.x by default (I cannot explain this, it is a brand new machine patched to current levels). I wanted to ensure my apps ran using .NET 4.0 and as such I needed to upgrade my app Pools to run against that framework. This seems simple on the surface but after changing the version of .NET on both the App Pools AND the server itself, I re-started IIS and was no longer able to load any ASP pages. It was the file handlers that were not present for the 4.0 version of ISAPI.
This took some real digging to get fixed, I pieced this together from various snippets on other forum sites and blogs and eventually arrived at the install directory for the .NET Framework itself. It turns out, inconspicuously present in the distribution is an EXE called “aspnet_regiis“. This exe talks to IIS and ensures the handlers are installed correctly for .NET 4.0. I executed this command (see screen shot below) and all the necessary handlers were placed into the active IIS configuration.
Lastly I had to edit the “ISAPI & CGI Restrictions” group in the IIS server-level properties to allow for .NET 4.0 ASP.NET interactions. Those two steps done, and a quick cycle of IIS and my app pools & associated apps were all running on .NET 4.0
Hopes this saves someone the several hours of digging I had to go through to get this straightened out.