After installing Visual Studio 2010 and .NET framework 4 on Windows Server 2003 (IIS6) I was getting nothing but 404 errors.  Turns out .NET 4 had somehow been disabled in the IIS metabase.

Here’s the comment I posted to server fault:

Check the metabase.xml file … is there a ’1′ at the start of the line for Framework\V4.0.21006 in WebSvcExtRestrictionList?

I had the same problem and setting it to ’1′ (enabled) cured the problem. ASP.NET 4.0 Beta 1 did not have this problem. The problem only appeared on install of ASP.NET 4.0 Beta 2.

Here’s what it looked like BEFORE fixing the problem:

        WebSvcExtRestrictionList="0,C:\SERVER\system32\inetsrv\httpodbc.dll,0,HTTPODBC,Internet Data Connector                0,C:\Perl\bin\perlis.dll,1,,Perl ISAPI Extension                0,C:\SERVER\system32\inetsrv\httpext.dll,0,WEBDAV,WebDAV                0,C:\Perl\bin\PerlEx30.dll,1,,PerlEx ISAPI Extension                0,C:\Perl\bin\perl.exe "%s" %s,1,,Perl CGI Extension                1,C:\SERVER\system32\inetsrv\asp.dll,0,ASP,Active Server Pages                1,C:\SERVER\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,0,ASP.NET v2.0.50727,ASP.NET v2.0.50727                0,*.exe                0,*.dll                0,C:\SERVER\system32\inetsrv\ssinc.dll,0,SSINC,Server Side Includes                0,C:\SERVER\Microsoft.NET\Framework\v4.0.21006\aspnet_isapi.dll,0,ASP.NET v4.0.21006,ASP.NET v4.0.21006"

And here’s an easier way to change that setting:

http://neilkilbride.blogspot.com/2008/02/windows-2003-iis-returns-404-for-aspnet.html