Following on the from my post a couple of days ago about how to get IE6 and IE7 running on the same machine, here’s a good post about how to get ASP.NET 1.1 running on IIS7 which is a problem people are going to increasingly run into as Vista starts to ship.
If you follow the links in both of my posts through you should be able to run ASP.NET 1.1 and 2.0 applications side-by-side and view them in both IE6 and IE7. If you throw in Firefox, Opera and a screen-reader your getting the beginnings of a decent system for accessibility and interop testing purposes on your shiny new Vista machine.
When you try to install ASP.NET 1.1 the problem your going to hit is the new IIS7 configuration model. The monolithic admin-only configuration system of IIS6 has been deprecated in favour or tiered configuration files stored in your application directory. The key files are ApplicationHost.config, Administration.config and Web.config. On the whole this is a good thing, since it introduces the powerful cascading model into IIS management.
The problem is with the last file. ASP.NET 1.1 (and ASP.NET 1.1 SP1) doesn’t expect to find IIS configuration information within Web.config, and throws a runtime error when it parses it.
The intial set-up is easy. Just install the ASP.NET 1.1 redistibutable, switch on metabase compatability and the ISAPI as outlined in the article and you’re done.
Except your not. The trick is to add the following code to your machine.config file at the end of the configSection:
<section name="system.webServer"
type="System.Configuration.IgnoreSectionHandler,
System, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089">;
</configSections>
This short snippet allows ASP.NET 1.1 to overlook the IIS information in the Web.config file so the runtime executes normally. So long as you remember to administer the ASP.NET 1.1 application through the deprecated admin interface (it can’t read the IIS information in web.config, so it doesn’t know it exists) you should be fine.
Assuming that you had ASP.NET 2.0 pre-installed with IIS7 when you started you should now have a seperate ASP.NET 1.1 application pool set up and ready to receive your applications. The IIS documentation has details of how you can tweak the pool and set up new ones.
Tip: You absolutely have to install the ASP.NET 1.1 security update to SP1. If you don’t do it the tighter security model in IIS7 will cause data execuction prevention errors until you do.

Oct 15, 09:59 am
Just wanted to ask a question. When I did the above, the machine.config kept throwing “Error Parsing machine.config” quite often. And there is no “section” system.webServer in machine.config, its there in applicationHost.config (inside inetsrv), and that too it is a “sectionGroup” and not section.
Do you have any ideas on that? Any help is appreciated.
-AR