Home All Groups Group Topic Archive Search About

"Failed to access IIS metabase" after installing Windows XP Pro

Author
18 Nov 2006 3:14 PM
Wayne Erfling
When I installed Visual Studio 2005 on Windows 2000 Pro, my asp.net 2.0 sites on http://localhost worked fine.

Then I upgraded the OS to Windows XP Pro and now all the sites report "Failed to access IIS metabase", all the time ("file" websites work fine).

I have already been working this problem a full day, and have already tried:
1) "Repair" .NET Framework 2.0
2) aspnet_regiis -ga <user> for every user on my system (starting with ASPNET, and IUSER_machin, IWAM...)
3) aspnet_regiis -u followed by aspnet_regiis -i
4) Deinstall and completely reinstall .NET Framework 2.0
5) Deinstall and completely reinstall Visual Studio 2005

I have found a reference for adding the ASPNET user as an "operator", but as IIS 5.1 does not support the Operators tab this is not possible.

I can make the error message "Failed to access IIS metabase" go away by making the ASPNET user a member of the Administrators local group, so this is a good step for diagnosis but I don't want ASPNET to be an administrator.

How can I set the access to the metabase manually for ASPNET?

Other wacky idea: My OS is loaded in C:\WINNT (because of the upgrade from Win2000); could there be some hard-coded "C:\Windows" somewhere in aspnet_regiis that derails my attempts?

Thanks for any help!

---Wayne

Author
18 Nov 2006 9:04 PM
David Wang
I know you are trying hard to troubleshoot and fix the issue and
thinking wacky/out-of-the-box. But let's not throw logic out the
window:
- If there was a hardcoded C:\WINDOWS in aspnet_regiis.exe, ASP.Net
would NEVER work even if you made it Administrator.
- Forget about the Operator - it is not a functionality on IIS in XP
Pro, so ASP.Net cannot be normally relying on it to function
- I am very weary of trying repair/reinstallation as a troubleshooting
technique because they tend to destroy the state of the machine and put
it into some other non-expected configuration, which hinder
troubleshooting.

I talk about IIS troubleshooting in this blog entry, but the approach
really applies to troubleshooting in general:
http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Basics_of_IIS6_Troubleshooting.aspx

Thus, your observation that ASP.Net works when ASPNET is in
Administrators group is the most useful piece of information to me
because here is the fact that I can then introduce:
ASP.Net does access the metabase, but not with the ASPNET user.

I am NOT going to focus on how to give ASPNET user access to the
metabase because I know that is not correct. The reason is this -- yes,
ASP.Net does access the metabase, but not with the ASPNET user. It
already has a stub loaded in inetinfo.exe which runs as Local System to
access the metabase. So, one does NOT need to give the ASPNET user
access to the metabase to run ASP.Net

Therefore, I think your problem is that you are running code as ASPNET
user which try to use the metabase. I only know of aspnet_wp.exe
processes which run as ASPNET user to execute ASP.Net code... so I
think your problem is that some ASP.Net code -- probably httpModule
since it is affecting all your ASP.Net requests -- is trying to access
the metebase as ASPNET user. What non-default httpModules,
httpHandlers, or other add-ons to ASP.Net are you using?

The only conflicting piece of assumption in my mind is that you said
this all worked on Windows 2000 Pro -- which is not very different to
ASP.Net from a configuration perspective -- so upgrading should not be
introducing this sort of failure. How exactly did you use ASP.Net on
Windows 2000 Pro? Were you using IIS5 on Windows 2000 Pro with ASP.Net?
Or were you using the built-in ASP.Net Test webserver?


//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//



Wayne Erfling wrote:
Show quoteHide quote
> When I installed Visual Studio 2005 on Windows 2000 Pro, my asp.net 2.0 sites on http://localhost worked fine.
>
> Then I upgraded the OS to Windows XP Pro and now all the sites report "Failed to access IIS metabase", all the time ("file" websites work fine).
>
> I have already been working this problem a full day, and have already tried:
> 1) "Repair" .NET Framework 2.0
> 2) aspnet_regiis -ga <user> for every user on my system (starting with ASPNET, and IUSER_machin, IWAM...)
> 3) aspnet_regiis -u followed by aspnet_regiis -i
> 4) Deinstall and completely reinstall .NET Framework 2.0
> 5) Deinstall and completely reinstall Visual Studio 2005
>
> I have found a reference for adding the ASPNET user as an "operator", but as IIS 5.1 does not support the Operators tab this is not possible.
>
> I can make the error message "Failed to access IIS metabase" go away by making the ASPNET user a member of the Administrators local group, so this is a good step for diagnosis but I don't want ASPNET to be an administrator.
>
> How can I set the access to the metabase manually for ASPNET?
>
> Other wacky idea: My OS is loaded in C:\WINNT (because of the upgrade from Win2000); could there be some hard-coded "C:\Windows" somewhere in aspnet_regiis that derails my attempts?
>
> Thanks for any help!
>
> ---Wayne
> ------=_NextPart_000_0010_01C70AFA.4CE9F010
> Content-Type: text/html; charset=iso-8859-1
> Content-Transfer-Encoding: quoted-printable
> X-Google-AttachSize: 2572
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <HTML><HEAD>
> <META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
> <META content="MSHTML 6.00.5730.11" name=GENERATOR>
> <STYLE></STYLE>
> </HEAD>
> <BODY bgColor=#c0dcc0>
> <DIV><FONT face=Tahoma>When I installed Visual Studio 2005&nbsp;on Windows 2000
> Pro, my asp.net 2.0 sites on <A href="http://localhost">http://localhost</A>
> worked fine.</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>Then I upgraded the OS to Windows XP Pro and now all the
> sites report "Failed to access IIS metabase", all the time ("file" websites work
> fine).</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>I have already been working this problem a full day, and
> have already tried:</FONT></DIV>
> <DIV><FONT face=Tahoma>1) "Repair" .NET Framework 2.0</FONT></DIV>
> <DIV><FONT face=Tahoma>2) aspnet_regiis -ga &lt;user&gt; for every user on my
> system (starting with ASPNET, and IUSER_machin, IWAM...)</FONT></DIV>
> <DIV><FONT face=Tahoma>3) aspnet_regiis -u followed by aspnet_regiis
> -i</FONT></DIV>
> <DIV><FONT face=Tahoma>4) Deinstall and completely reinstall .NET Framework
> 2.0</FONT></DIV>
> <DIV><FONT face=Tahoma>5) Deinstall and completely reinstall Visual Studio
> 2005</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>I have found a reference for adding the ASPNET user as an
> "operator", but as IIS 5.1 does not support the Operators tab this is not
> possible.</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>I can make the error message "Failed to access IIS
> metabase" go away by making the ASPNET user a member of the Administrators local
> group, so this is&nbsp;a good step for diagnosis but I don't want ASPNET to be
> an administrator.</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>How can I set the access to the metabase manually for
> ASPNET?</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>Other wacky idea: My OS is loaded in C:\WINNT (because of
> the upgrade from Win2000); could there be some hard-coded "C:\Windows" somewhere
> in aspnet_regiis that derails my attempts?</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>Thanks for any help!</FONT></DIV>
> <DIV><FONT face=Tahoma></FONT>&nbsp;</DIV>
> <DIV><FONT face=Tahoma>---Wayne</FONT></DIV></BODY></HTML>
>
> ------=_NextPart_000_0010_01C70AFA.4CE9F010--