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

R

rrossney

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
(e-mail address removed)
 
J

Juan T. Llibre

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/default.asp?url=/library/en-us/dnpag2/html/paght000009.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






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
(e-mail address removed)
 
R

rrossney

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
(e-mail address removed)
 
Joined
Feb 21, 2011
Messages
1
Reaction score
0
Error in machine.config for framework 2.0

I had this issue and I found the issue was with the change I made in my machine.config a year ago.. Fortunately I made a backup and was able to undo it.. Specifically the issue was caused by the following line in my machine.config (no idea why):
(C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config)

<runtime>
<developmentMode developerInstallation="true"/>
</runtime>

I also had to reset IIS using c:\iisreset


Please look at the "what I've already done"
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
(e-mail address removed)
 
Last edited:

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top