Fri, 10 Jul 2010 24:05:23 EST
In my day job I have to install IIS on a Windows XP machine about every six months. After two years or sporadically having to install IIS across different computer models and service packs, I have noticed that IIS never works correctly after you install it on Windows XP. I am so confident of this that I decided to install it on my own, fully patched Windows XP Service Pack 3 machine and document how I get ASP.NET 2.0 applications to work in hope that it will help someone else.
The first thing that always happens when I install IIS on Windows XP is that I always end up with permission errors on the default http://localhost website. I re-started, but this still did not solve the problem.
Because all I ever want to do is get ASP.NET working anyway, I created a new directory in Inetpub/wwwroot called ASP2Test and created an application directory out of it using the IIS control panel in Administrative Tools. I specifically set the ASP.NET version to 2.0. I then attempted to access the new application directory which I had created a simple aspx file in, but got the infamous failed to access IIS metabase error.
After having to deal with this several times, I have figured out a step that normally will solve the error in ASP.NET 2.0 applications at least. Open up a command line and navigate to C:\WINDOWS\Microsoft.NET\Framework\v2.0.xxx and use the exe "aspnet_regiis" with the parameter -i, which I think re-installs the framework. If you do this, then re-start your computer, you may get lucky and your ASP.NET application will now run in IIS on Windows XP.
aspnet_regiis -i

Charles Palen has been involved in the museum and visitor center industry for several years. He works as a senior interactive developer at
Transcending Digital where he can be hired for your next contract project. Charles expertise covers the areas of A/V integration, touchscreen programming, creation of original devices, and much more. Charles created
Technogumbo as a way to share lessons learned while making original products.