Several features such as WebSocket Protocol, Tracing or Request Monitor can be installed in IIS server on need basis.
I came across to the error message below in Event Viewer while trying to install Request Monitor in Windows Server 2016
Update IIS-RequestMonitor of package IIS-WebServer-Core-Package failed. Status: 0x800f0922
Server Manager displayed this error:
The request to add or remove features on the specified server failed. Error: 0x800f0922
We also tried installation it via PowerShell. Here is the result:
Enable-WindowsOptionalFeature: Enable-WindowsOptionalFeature failed. Error code = 0x800f0922
Troubleshooting
Collect and analyze the following logs:
- CBS logs (C:\Windows\Logs\CBS)
- DISM logs (C:\Windows\Logs\DISM)
- ApplicationHost.config file (C:\Windows\System32\inetsrv\config)
- The output of Dism /Online /Cleanup-Image /ScanHealth command
- Procmon logs (Use Process Monitor tool)
Following questions also help narrowing the issue down:
- Are you able to install Request Monitor by logging in with another user?
- Are you able to install Request Monitor in another server?
- Are there other roles apart from IIS installed in the server?
- Make sure there is enough space in the disks (Right click on Start menu icon > Computer Management > Disk Management)
- If not installed yet, install .NET Framework and try again
In my case, Procmon logs showed PARSE_ERROR_INFO while reading applicationHost.config file which points out an issue with this file.
641 2:08:09.7690809 PM appcmd.exe 10992 1052 ReadFile C:\Windows\System32\inetsrv\config\applicationHost.config SUCCESS Offset: 0, Length: 63,692, Priority: Normal
8 KernelBase.dll ReadFile + 0x74
9 nativerd.dll CONFIG_XML_DOM::ParseXmlFile + 0xac
10 nativerd.dll CONFIG_FILE::ParseConfigFile + 0x148
642 2:08:09.7692157 PM appcmd.exe 10992 1052 CreateFile C:\Windows\System32\inetsrv\en-US\iisres.dll.mui SUCCESS Desired Access: Generic Read, Disposition: Open, Options: , Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
17 nativerd.dll AdminFormatMessage + 0x4c
18 nativerd.dll PARSE_ERROR_INFO::SetErrorInfo + 0x2d
Solution
As the Procmon point out a parsing issue with applicationHost.config file, we tried to open this file. As expected, it was corrupted:
We didn’t have a backup of this file so we had to reinstall IIS. This fixed the issue.
Updated Dec 19, 2019
Version 2.0Nedim
Former Employee
Joined November 26, 2018
IIS Support Blog
Follow this blog board to get notified when there's new activity