Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

windows

iis

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?

like image 749
J.D. Mallen Avatar asked Oct 10 '17 13:10

J.D. Mallen


People also ask

How do I fix error 0x800f0922 in Windows 10?

Fix VPN connection problem to solve Windows 10 update error code. Disconnect network > Turn off VPN software > Run Microsoft Windows 10 Update > Restart PC > Reconnect network and turn VPN back on.

What could be cause of an error 0x800f0922 during Windows 10 fall creators update?

If you see the 0x800F0922 error message, it could mean that your computer isn't connecting to the Microsoft update servers, or there might not be enough available space in the System Reserved partition. You can try to resolve this problem by making sure your device isn't disconnected from the internet.

How do I fix error code 0x800f0922 in Windows 11?

Turn off VPN Connection The operating system may fail to create a connection with Microsoft Windows update servers when you use a VPN. As a result, install error - 0x800f0922 Windows 11 happens on your PC. To fix this issue, disable the VPN connection and then try to update Windows to see if the error is solved.


1 Answers

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.

like image 144
J.D. Mallen Avatar answered Sep 17 '22 14:09

J.D. Mallen