Error 0x800f0922 when installing IIS on Windows 10: "The changes couldn't be completed."

7

On a new installation of Windows 10 Enterprise Version 1703 I tried turning on the IIS feature, default options selected, via "Turn Windows features on or off," but ran into the error shown below:

Windows Features error

I then attempted to install the feature using DISM. I opened an admin command prompt and entered:

Dism /Online /Enable-Feature /FeatureName:IIS-DefaultDocument /All

This should be the same as installing the default set of features for IIS. This also failed with the same error code 0x800f0922.

Lastly, I tried selecting IIS elements one piece at a time from the "Turn Windows features on and off" menu. This worked until I tried installing "HTTP Errors," which produced the window above again.

Running this command:

Dism /Online /Enable-Feature /FeatureName:IIS-HttpErrors /All

resulted in the same error.

How can I fix this?

windows
iis
asked on Stack Overflow Oct 10, 2017 by J.D. Mallen

10 Answers

4

Touch the file C:\inetpub\custerr\en-US\401-1.htm, creating any missing directories in the path, then run the installer again.

More info:

I viewed the log file for DISM located at C:\Windows\Logs\DISM\dism.log and found the following set of lines for the error:

2017-10-09 13:43:28, Error                 DISM   DISM Package Manager: PID=4280 TID=14940 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x800f0922)
2017-10-09 13:43:28, Error                 DISM   DISM Package Manager: PID=4280 TID=14940 Failed processing package changes with session options - CDISMPackageManager::ProcessChangesWithOptions(hr:0x800f0922)
2017-10-09 13:43:28, Error                 DISM   DISM Package Manager: PID=4280 TID=14940 Failed ProcessChanges. - CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x800f0922)
2017-10-09 13:43:28, Error                 DISM   DISM Package Manager: PID=4280 TID=14940 Failed while processing command enable-feature. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f0922)
2017-10-09 13:43:28, Info                  DISM   DISM Package Manager: PID=4280 TID=14940 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine
2017-10-09 13:43:28, Error                 DISM   DISM.EXE: DISM Package Manager processed the command line but failed. HRESULT=800F0922

Following the recommendation, I checked the CBS log located at C:\Windows\Logs\CBS\CBS.log and found the following line with the same timestamp:

2017-10-09 13:43:28, Error                 CSI    00000096 (F) STATUS_OBJECT_PATH_NOT_FOUND #5294871# from Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCreateFile(flags = (AllowSharingViolation|AllowAccessDenied), handle = {provider=NULL, handle=0, name= ("null")}, da = (FILE_GENERIC_READ|DELETE|WRITE_DAC|WRITE_OWNER|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|FILE_WRITE_DATA|0x00000040), oa = @0x92431fdd18->OBJECT_ATTRIBUTES {s:48; rd:NULL; on:[38]'\??\C:\inetpub\custerr\en-US\401-1.htm'; a:(OBJ_CASE_INSENSITIVE)}, iosb = @0x92431fdd78, as = (null), fa = (FILE_ATTRIBUTE_NORMAL), sa = (FILE_SHARE_READ|FILE_SHARE_WRITE), cd = 5, co = (FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|0x00004000), eab = NULL, eal = 0, disp = Invalid)

I was able to determine that it was looking for the path C:\inetpub\custerr\en-US\401-1.htm and couldn't find it. Sure enough, that path did not exist at all.

First, I tried testing permissions by giving the user object Everyone full control access to inetpub. I know, not ideal, but it was worth it to test it. I ran that DISM command again to add HttpErrors, but still failed. Finally I just created the directories custerr and en-US, and a blank text file called 401-1.htm, and tried DISM one last time. The folder instantly populated with the rest of the HTTP error pages and the installation completed.

Hope this helps someone.

answered on Stack Overflow Oct 10, 2017 by J.D. Mallen • edited Apr 16, 2019 by J.D. Mallen
2

I created the two directory paths / empty files with no change. But - I had selected to install -only- IIS Metabase and IIS 6 configuration compatability. When I additionally selected to install the IIS Management Console the procedure successfully ran to completion.

answered on Stack Overflow Jun 25, 2019 by Cam Owen
2

I had to uninstall Windows Process Activation Service feature first, reboot, then I was able to install IIS properly.

answered on Stack Overflow Aug 4, 2020 by joshschreuder
1

Disabling McAfee solved the problem for me.

answered on Stack Overflow May 22, 2018 by Echilon
1

I had this error but was able to get IIS installed just by persevering with Control Panel | Programs | Turn Windows features on and off. When I first launched this, if I just selected the top-level Internet Information Services, as I've done with every other computer and every other version of Windows, I got this response repeatedly. With or without my antivirus running (which in my case is ZoneAlarm and MalwareBytes).

I got around this by expanding the IIS entry in the feature list, and just installing a few of the individual items at a time. My goal at the start of this was just to hone in on exactly what the problem was, although I found that every sub-component installed successfully.

Pros: everything installed OK, and only one of the subcomponents required me to reboot (and even that might have been because I also took the opportunity to get rid of IE11). And I suppose it's good that I didn't have to track down the actual MS error which caused this. Cons: there are probably 30-odd subcomponents nestling in three or four tiers under the main IIS option. Even though it all worked in the end, it took a couple of hours.

answered on Stack Overflow Apr 25, 2019 by PeteH
1

I run into this error while trying to install Request Monitor feature of IIS. In order to troubleshoot it, I would recommend checking:

  • 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)

In my case Procmon logs showed PARSE_ERROR_INFO while reading applicationHost.config file which was corrupted. Reinstalling IIS solved the issue. Source: 0x800f0922 Update IIS-RequestMonitor of package IIS-WebServer-Core-Package failed

enter image description here

answered on Stack Overflow Nov 8, 2019 by Ned
0

I had the same problem in a Windows Server 2012 R2. In my case it solved after running all the pending updates on windows update (even the optional ones, it was one of them)

answered on Stack Overflow May 14, 2019 by Pablo Rausch
0

I got around this by expanding the IIS entry in the feature list, and installing each individual item at a time

answered on Stack Overflow May 21, 2019 by Francisco Cardoso
0

On Windows 10, version 1909, I had to first install the "IIS Management Console" feature. Then I was able to add the features under the IIS 6 Management Compatibility folder without getting the 0x800f0922 error.

I was able to add both [IIS 6 Management Console] and [IIS Metabase and IIS 6 configuration compatibility] at the same time.

Then I was able to install the program that needed these as prerequisites, Exchange Management Console 2010 bayy-bee! Yey Yey.

answered on Stack Overflow Jun 26, 2020 by C Sharp Conner
0

All config files in the IIS folder has to be present too Location: C:\Windows\System32\inetsrv\config\

answered on Stack Overflow Aug 14, 2020 by Liran Barniv

User contributions licensed under CC BY-SA 3.0