ASPNET Problem: Server Application Unavailable

Problem
For one reason or another, my IIS died recently with this highly frustrating error.

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.

In the event log was this,

aspnet_wp.exe could not be started. The error code for the failure is 80004005. This error can be caused when the worker process account has insufficient rights to read the .NET Framework files. Please ensure that the .NET Framework is correctly installed and that the ACLs on the installation directory allow access to the configured account.

Solutions
There are two KB articles that came up. One suggested changing the ASPNET account password, adding a new account, and checking file security on several directories. Mostly, this was a wash none of that was the problem, since I had changed none of those things.

Another article suggested changing the aspnet_wp to run under SYSTEM, which can do anything. This is very insecure, but it helped. Several hours were spent trying to figure this out the first way.

To fix the problem I changed aspnet_wp to run under the SYSTEM account, run
“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i”, and “iisreset”. Then hit the web page and … viola.
After the aspnet_regiis you can modify the MACHINE.CONFIG and the settings take affect after you run iisreset.

I found these articles to be helpful

  1. Running ASP.NET on a Domain Controller
    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315158
  2. How to run aspnet_wp as SYSTEM and what directories should have permissions
    http://support.microsoft.com/kb/317012/
  3. Here, someone mentions that the ASPNET pwds can get out of sync and that “aspnet_regiis” can be used to fix that problem. This was the final key.
    http://weblogs.asp.net/jambrose/archive/2004/09/01/224226.aspx

    Max, look in your machine.config file under the processModel element. Ensure that its username is set to “machine” and the password is set to “AutoGenerate” as this means that it is set up with the defaults.

    If you’ve done that, and it’s still not working, try running aspnet_regiis.exe from the 1.1 framework directory and restarting IIS. This should sync up the ASPNET password.

    If you’re still stuck, try asking in the ASP.NET Forums (http://www.asp.net/Forums).

  4. “Aspnet_wp.exe could not be started” error message when you view an ASP.NET page
    http://support.microsoft.com/default.aspx/kb/811320

Leave a Reply

You must be logged in to post a comment.