本文介绍了在Windows 10上安装IIS时出现错误0x800f0922:“无法完成更改。”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Windows 10企业版1703的新安装中,我尝试通过打开或关闭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:

然后我尝试使用DISM安装该功能。我打开了一个管理命令提示符并输入:

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

这应该与安装IIS的默认功能集相同。这也失败了,错误代码为0x800f0922。

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

最后,我尝试从打开和关闭Windows功能菜单中一次选择一个IIS元素。这一直有效,直到我尝试安装HTTP错误,再次生成上面的窗口。

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.

运行此命令:

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

导致相同的错误。

我该如何解决这个问题?

How can I fix this?

推荐答案

我查看DISM的日志文件位于 C:\ Windows\Logs \DISM\dism.log ,发现以下内容错误的行:

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

根据建议,我检查了位于 C的CBS日志:\ Windows \Logs\CBS \CBS.log ,发现以下行具有相同的时间戳:

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)

我能够确定它正在寻找路径 C:\inetpub \custerr \ en-US \401-1.htm 并找不到它。果然,该路径根本不存在。

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.

首先,我尝试通过给用户对象Everyone对inetpub的完全控制访问来测试权限。我知道,不理想,但测试它是值得的。我再次运行DISM命令以添加HttpErrors,但仍然失败。最后我创建了目录 custerr en-US ,以及一个名为的空白文本文件401-1.htm ,最后一次尝试了DISM。该文件夹立即填充其余的HTTP错误页面并完成安装。

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.

希望这有助于某人。

这篇关于在Windows 10上安装IIS时出现错误0x800f0922:“无法完成更改。”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-28 23:19