Symptoms
- Application pools crashes. Errors are logged to Event Viewer > Windows Logs > Application :
The worker process for application pool 'DefaultAppPool' encountered an error 'Cannot read configuration file due to insufficient permissions
' trying to read configuration data from file '?C:inetpubtempapppoolsDefaultAppPoolDefaultAppPool.config', line number '0'. The data field contains the error code. -
Process Monitor with filter "Process name: w3wp.exe" shows the following:
-
Website shows an error:
503 Service Unavailable
Cause
Insufficient permissions for the application user on the application pool configuration file. In the symptoms above, the user is "DefaultAppPool" and the file is C:InetpubtempappPoolsDefaultAppPoolDefaultAppPool.config
Resolution
Note: This article may require additional administrative knowledge to apply. If any help required, contact server’s administrator or hosting support.
For one website:
- Login to the server over RDP.
- Go to
C:InetpubtempappPools
and open application pool folder mentioned in the error message (DefaultApplicationPool, in the example above). - Open properties of application pool configuration file mentioned in the error and switch to Security tab.
- Add or select the username shown in the Process Monitor (DefaultAppPool user in the example above)
- Set the following permissions and click OK:
In case multiple application pools are stopped
1. Login to the server over RDP.
2. Open C:inetpubtemp
, right-click on the folder appPools > Properties > Security and add Read permissions for IIS_IUSRS group as follows:
3. Stop IIS:
C:> iisreset /stop
4. Remove all IIS applications pools' temporary files and folders. By default, they are located inside
C:inetpubtempappPools:
C:> for /d %p in (C:inetpubtempappPools*) do rmdir /q /s "%p"
5. Start IIS:
C:> iisreset /start
The configuration files will be regenerated on demand: when a website is opened.