By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,587 Members | 1,079 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,587 IT Pros & Developers. It's quick & easy.

ASP.NET process identity does not have read permissions to the global assembly cache.

P: n/a
Please look at the "what I've already done" section of this message
before responding to it: I believe that I've done everything that the
people who experience this error are typically told to do.

I have created an ASP.NET web service that I have running on my
development machine, and am trying to get it to run on my test server.
Both machines are running Windows 2000 SP4, IIS 5, and the .NET 2.0
framework.

When I attempt to access the service through IE, I get the familiar
page which reads:

"Server Application Unavailable
The web application you are attempting to access on this web server is
currently unavailable. Please hit the "Refresh" button in your web
browser to retry your request.

"Administrator Note: An error message detailing the cause of this
specific request failure can be found in the application event log of
the web server. Please review this log entry to discover what caused
this error to occur. "

The attempt also results in three entries in the application log.
One's a warning:

"Failed to initialize the AppDomain:/LM/W3SVC/10/Root

Exception: System.Configuration.ConfigurationErrorsException
Message: Exception of type
'System.Configuration.ConfigurationErrorsException ' was thrown."
[stack trace omitted]

Then two errors:

"Failed to execute the request because the ASP.NET process identity
does not have read permissions to the global assembly cache. Error:
0x80131902 "

"aspnet_wp.exe (PID: 744) stopped unexpectedly. "

Here's what I've already done:

- Verified that the machine.config file on the test server is identical
to the one on the development server. Both contain the element
<processModel autoConfig="true"/>, i.e. they aren't giving
aspnet_wp.exe a different user to run under.
- Via Task Manager, determined that aspnet_wp.exe is running as ASPNET.
- Verified that the ASPNET user has read permissions to WINNT\assembly
and its descendants. (I've done this by unregistering shfusion.dll,
setting the permissions in Windows Explorer's directory properties'
Security tab, and re-registering shfusion.dll; I've also run AccessEnum
to verify that none of the descendant directories are denied to
ASPNET.)
- Verified that ASPNET has full-control permissions to the Temporary
ASP.NET Files directory (though I know from experience that you get a
different error if this is the problem).
- Verified that ASPNET has read permissions to the web service's
application directory (again, I know from experience that this also
produces a different error from the one I'm getting).

What's going on here? Why is ASP.NET is throwing a
ConfigurationErrorsException? Why is it telling me that the ASP.NET
process identity doesn't have read permissions to the GAC when it does?
What further diagnostic steps should I be performing?

Any help would be welcome.

Thanks,

Robert Rossney
rr******@gmail.com

Mar 14 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Please review the directory permissions listed at :
http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx

In particular, make sure that the ASPNET account
has Read/write access to the User profile directory.
The User profile directory is used by the GAC cache lock files and the security
configuration caching mechanism of the common language runtime.

If the user profile directory for the account does not exist,
ASP.NET uses the default user profile directory.

Also, review the necessary permissions list found at this page :
http://msdn.microsoft.com/library/de...aght000009.asp

You might find it convenient, to double-check that you
have manually done all that you need to do, to run :

aspnet_regiis -ga yourmachinename\account

where yourmachinename\account is the ASPNET user account.

In your case, that would apparently be : aspnet_regiis -ga yourmachinename\ASPNET

Juan T. Llibre, asp.net MVP
aspnetfaq.com : http://www.aspnetfaq.com/
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
===================================
<rr******@gmail.com> wrote in message news:11**********************@i39g2000cwa.googlegr oups.com...
Please look at the "what I've already done" section of this message
before responding to it: I believe that I've done everything that the
people who experience this error are typically told to do.

I have created an ASP.NET web service that I have running on my
development machine, and am trying to get it to run on my test server.
Both machines are running Windows 2000 SP4, IIS 5, and the .NET 2.0
framework.

When I attempt to access the service through IE, I get the familiar
page which reads:

"Server Application Unavailable
The web application you are attempting to access on this web server is
currently unavailable. Please hit the "Refresh" button in your web
browser to retry your request.

"Administrator Note: An error message detailing the cause of this
specific request failure can be found in the application event log of
the web server. Please review this log entry to discover what caused
this error to occur. "

The attempt also results in three entries in the application log.
One's a warning:

"Failed to initialize the AppDomain:/LM/W3SVC/10/Root

Exception: System.Configuration.ConfigurationErrorsException
Message: Exception of type
'System.Configuration.ConfigurationErrorsException ' was thrown."
[stack trace omitted]

Then two errors:

"Failed to execute the request because the ASP.NET process identity
does not have read permissions to the global assembly cache. Error:
0x80131902 "

"aspnet_wp.exe (PID: 744) stopped unexpectedly. "

Here's what I've already done:

- Verified that the machine.config file on the test server is identical
to the one on the development server. Both contain the element
<processModel autoConfig="true"/>, i.e. they aren't giving
aspnet_wp.exe a different user to run under.
- Via Task Manager, determined that aspnet_wp.exe is running as ASPNET.
- Verified that the ASPNET user has read permissions to WINNT\assembly
and its descendants. (I've done this by unregistering shfusion.dll,
setting the permissions in Windows Explorer's directory properties'
Security tab, and re-registering shfusion.dll; I've also run AccessEnum
to verify that none of the descendant directories are denied to
ASPNET.)
- Verified that ASPNET has full-control permissions to the Temporary
ASP.NET Files directory (though I know from experience that you get a
different error if this is the problem).
- Verified that ASPNET has read permissions to the web service's
application directory (again, I know from experience that this also
produces a different error from the one I'm getting).

What's going on here? Why is ASP.NET is throwing a
ConfigurationErrorsException? Why is it telling me that the ASP.NET
process identity doesn't have read permissions to the GAC when it does?
What further diagnostic steps should I be performing?

Any help would be welcome.

Thanks,

Robert Rossney
rr******@gmail.com

Mar 14 '06 #2

P: n/a
Nope, that wasn't the problem. I had already done everything you
suggested; I've been poring over those two pages for a day and a half.
But I think I've fixed the problem.

I believe the problem stems from my using IIS5. In IIS5, apparently,
the ASP.NET service account has to be granted operator privileges to
the web site. This is done from within Internet Services Manager, on
the "Operators" tab of the web site properties. I clicked "Add," added
<machine>\ASPNET to the list, and that was it.

My web service still isn't working, but only because I haven't
installed it properly. I don't get the warning and errors in the
application log anymore.

See http://ureader.com/message/1498667.aspx.

Robert Rossney
rr******@gmail.com

Mar 15 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.