Event ID 9010 — IIS Application Host History Configuration
Applies To: Windows Server 2008 R2
The ApplicationHost Helper Service (AppHostSvc) maintains a history of Internet Information Services (IIS) configuration by saving the ApplicationHost.config file to separate configuration history subdirectories. If you make a mistake when you modify the ApplicationHost.config file, you can restore an earlier version of the file from a configuration history subdirectory by copying the earlier version into the %Windir%\system32\inetsrv\config directory. You can specify the frequency with which AppHostSvc checks for configuration changes, the path of the directory that contains the subdirectories, and how many subdirectories to keep.
By default, the Application Host Helper Service checks for changes in the ApplicationHost.config file every two minutes. If it detects that the configuration has changed, it creates a backup. The default location for the configuration history files is %SystemDrive%\inetpub\history. AppHostSvc creates one subdirectory under this directory for each configuration file backup. By default, the maximum number of history subdirectories is 10. If the number of configuration history subdirectories reaches the maximum specified, the oldest subdirectory is deleted.
AppHostSvc is a runtime-independent service that does not require the Windows Process Activation Service (WAS) or the World Wide Web Publishing Service (W3SVC) to operate. AppHostSvc does not depend on any other service and its startup type is Automatic. If the ApplicationHost Helper Service is stopped, the configuration history feature will not work.
Event Details
Product: | Internet Information Services |
ID: | 9010 |
Source: | Microsoft-Windows-IIS-APPHOSTSVC |
Version: | 7.5 |
Symbolic Name: | APPHOSTSVC_HISTORY_CANT_ACCESS_HISTORY_DIR_ERROR |
Message: | The Application Host Helper Service encountered an error trying to access the root history directory '%1'. The directory either doesn't exist or the permissions on it don't allow the history service to access it. The config history feature is disabled for now and will be re-enabled after the issue is resolved. To resolve this issue, please ensure that the directory exists and that the Administrators group have read and write access to it. The data field contains the error number. |
Resolve
Check the configuration history directory path and permissions
To main IIS configuration history, the Application Host Helper Service requires that the history directory that you specified exists and that the Administrators Group has read and write permissions for it. The default configuration history directory is %SystemDrive%\inetpub\history.
To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.
To ensure that the history directory that is specified exists and has the correct permissions, follow these steps:
A. Back up the ApplicationHost.config file
Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
At the command prompt, type cd %Windir%\system32\inetsrv.
Type appcmd add backup backupName to backup the ApplicationHost.config file.
A directory with the backup name you specify will be created under the %windir%\system32\inetsrv\backup directory. If you do not specify a name, appcmd will generate a directory name automatically using the current date and time.
B. Find the current history directory setting
- At an elevated Command Prompt window, type cd %Windir%\system32\inetsrv\config.
- Type notepad ApplicationHost.config.
- In notepad, search for the configHistory section under the system.applicationHost section.
- Find the path attribute and read its value. The default is %SystemDrive%\inetpub\history.
- Make sure that the path is correctly spelled and has no errors.
- Save and close the ApplicationHost.config file.
C. Ensure that permissions for the history directory are correct
- Click Start, click Computer, and navigate to the directory that you found in the path attribute of the configHistory section in the ApplicationHost.config file.
- Right-click the history directory and click Properties.
- Click the Security tab.
- Under Group or user names, click the System account. Under Permissions, make sure that the System account has full control.
- If the System account does not have full control, click Edit and select the Systems account again. Under Permissions, select the Allow check box to the right of Full Control.
- Perform the previous two steps for the Administrators account.
- Click OK to exit Properties.
See Also
IIS 7.0: configHistory Element (IIS Settings Schema)
Verify
To verify the configuration of the AppHostSvc configuration history backup feature, you can do the following:
- Use notepad to examine the current configHistory section settings in the ApplicationHost.config file.
- Use the Appcmd.exe command-line administration utility to view the configHistory section in the ApplicationHost.config file.
To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.
View the configHistory section by using notepad
To view the configHistory section by using notepad:
Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
Type cd %Windir%\system32\inetsrv\config.
Type notepad ApplicationHost.config.
In notepad, search for the configHistory section under system.applicationHost. The contents should resemble the following:
<system.applicationHost>
<configHistory enabled="true" path="%SystemDrive%\inetpub\history" maxHistories="10" period="00:02:00" />
</system.applicationHost>
View the configHistory section by using Appcmd.exe
To view the configHistory section by using Appcmd.exe:
- Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
- Type cd %Windir%\system32\inetsrv.
- Type appcmd list config "Default Web Site" /section:configHistory /config:*. (This example uses the default Web site; replace the site name as necessary.)
See Also
IIS 7.0: configHistory Element (IIS Settings Schema)