如何摆脱 Windows 更新错误 0x800f0900 (CBS_E_XML_PARSER_FAILURE)

已发表: 2020-05-19

作为 Windows 10 用户,您对 Microsoft 发布的每月累积更新并不陌生。 大多数情况下,这些更新是在您不知情的情况下在后台下载的。 下载完成后,Windows Update 实用程序将发送通知,要求您重新启动系统以安装更新。

也就是说,在某些情况下,该工具会遇到障碍并产生不同的错误代码,其中之一是错误 0x800f0900。 此特定错误转换为 CBS_E_XML_PARSER_FAILURE(意外的内部 XML 解析器错误),这意味着与更新过程相关的某些系统实体已损坏。

如果您是遇到此问题的用户之一,那么您来对地方了。 本文包含有关如何对 Windows 10 上的更新错误 0x800f0900 进行故障排除和修复的方法。我们将向您展示错误消息的可能原因以及您应该采取的摆脱它的步骤。

为什么在 Windows 10 上出现 Windows 更新错误 0x800f0900?

该问题在尝试下载并安装 Windows 10 2018 年 4 月更新的新补丁的用户中最为常见。但是,它确实出现在其他情况下。

问题的主要原因之一是损坏的系统文件。 也就是说,还有其他根本原因,例如与 Windows 更新相关的禁用服务、非必要或损坏的缓存、互联网连接故障、防病毒或防火墙干扰以及设备驱动程序故障等。

如何修复 Windows 10 上的 Windows 更新错误 0x800f0900?

摆脱错误涉及解决其根本原因。 下面,您将找到有关如何解决不同问题的不同指南,从错误的系统文件到设备驱动程序问题。 如果您想快速解决问题,重要的是要一个接一个地进行修复。

运行 Windows 更新疑难解答

微软为不同的实用程序提供了故障排除工具,你会找到一个用于 Windows 更新的工具。 该工具将用于解决冲突并激活某些被禁用的服务。 运行它非常简单明了; 请按照以下步骤操作:

  1. 转到“开始”菜单(点击 Windows 徽标键或单击“开始”按钮),然后单击电源图标上方的齿轮图标以打开“设置”。 如果您想更快地打开“设置”应用程序,请转到键盘并同时点击 Windows 和 I 键。
  2. 设置应用程序的主屏幕显示后,转到页面底部,然后单击更新和安全。
  3. 看到更新和安全界面后,切换到左窗格并单击疑难解答。
  4. 现在,转到窗口的右侧,然后单击“启动并运行”部分下的 Windows 更新。
  5. 单击出现在 Windows 更新下的“运行疑难解答”按钮。
  6. 疑难解答程序现在将运行并尝试解决困扰 Windows 更新实用程序的问题。
  7. 该工具完成工作后,您可以重新启动系统并尝试下载更新。

摆脱临时文件

Windows 应用程序和其他第三方程序通常将临时文件存储在您的磁盘上,这些文件仅在短时间内有用。 这些文件很容易损坏或妨碍更新过程。 尝试摆脱它们并检查是否可以解决问题。 您可以使用磁盘清理工具或通过设置应用程序清除临时文件。

我们将在下面向您展示该怎么做。

使用磁盘清理工具:

  1. 通过单击任务栏中的文件夹图标或右键单击开始按钮并选择文件资源管理器来启动文件资源管理器。 您也可以按住 Windows 徽标键并按下 E 键来召唤程序。
  2. 文件资源管理器打开后,转到左窗格并单击此 PC。
  3. 接下来,转到右侧窗格中的“设备和驱动器”部分,右键单击主卷,在正常情况下应该是 C 盘,然后单击上下文菜单中的“属性”。
  4. 显示磁盘的“属性”对话框窗口后,单击“常规”选项卡下的“磁盘清理”按钮。
  5. 出现“磁盘清理”窗口后,选中要删除的临时文件旁边的框,然后单击“确定”按钮。
  6. 清理过程完成后,重新启动计算机并检查更新错误。

通过设置应用程序:

  1. 右键单击“开始”按钮并选择“设置”或同时点击 Windows 徽标和 I 键以打开“设置”应用程序。
  2. 设置应用程序显示后,单击系统图标。
  3. 看到系统界面后,转到左窗格并单击存储。
  4. 转到屏幕右侧,然后单击“临时文件”。
  5. 允许 Windows 扫描您的临时文件。
  6. 扫描完成后,选择要删除的临时文件类别,然后单击“删除文件”按钮。

确保 Windows 更新服务正在运行

由于某些服务被禁用,可能会出现错误消息。 这些服务包括后台智能传输服务 (BITS)、Update Orchestrator 服务和 Windows Update 服务。 您必须知道,如果这些服务中的任何一个不起作用,您将无法更新您的系统。

为了确保它们正在运行,您必须通过服务应用程序。 以下步骤将向您展示如何操作:

  1. 打开运行对话框。 您可以通过右键单击“开始”按钮并选择“运行”或同时按下 Windows 徽标和 R 键来执行此操作。
  2. 出现“运行”对话框后,在文本框中键入“services.msc”(不带引号)并按 Enter 键。

请注意,您还可以通过在“开始”菜单中搜索“服务”来启动“服务”应用程序。

  1. 服务应用程序打开后,搜索以下服务的条目:

后台智能传输服务(BITS),

更新 Orchestrator 服务,

Windows 更新服务

  1. 转到每个服务,右键单击它,然后单击属性。
  2. 属性窗口打开后,停留在常规选项卡中,然后在“启动类型”下拉菜单中选择自动。
  3. 单击确定按钮,然后运行 ​​Windows 更新实用程序以检查问题。

扫描您的 PC 以查找恶意软件

恶意软件攻击可能会导致问题。 某些恶意程序可能已篡改了您的某些系统文件或与 Windows 更新相关的程序。 一些用户报告说他们在运行完整的系统扫描后摆脱了更新错误 0x800f0900。

如果您使用第三方防病毒程序,请转到其图形用户界面并运行完整的系统扫描。 如果您不知道如何操作,可以查看程序开发人员的网站以获取指南。

如果您的主要防病毒程序是 Windows 安全性,请按照以下步骤操作:

  1. 导航到任务栏,右键单击“开始”按钮,然后单击“快速访问”菜单中的“设置”。 您还可以单击“开始”按钮中的齿轮图标或使用 Windows + I 键盘快捷键来调用“设置”应用程序。
  2. 显示 Windows 设置的主屏幕后,单击页面底部的更新和安全图标。
  3. 看到更新和安全界面后,转到左侧窗格并单击 Windows 安全性。
  4. 现在,导航到右侧的 Windows 安全选项卡,然后单击保护区域下的病毒和威胁保护。
  5. Windows 安全的病毒和威胁防护工具打开后,单击当前威胁下的扫描选项。
  6. 在“扫描选项”屏幕上,选择“全面扫描”单选按钮,然后单击“立即扫描”按钮。
  7. 该工具现在将检查硬盘上的所有程序和文件是否存在恶意软件。
  8. 允许该过程运行一段时间,因为这可能会持续一段时间。

扫描并删除损坏的系统文件

丢失或损坏的系统文件是问题的另一个主要原因。 这些文件可能已被恶意软件破坏,并且您也可能在不知不觉中篡改了它们。 还有其他元素可能会损坏或删除您的系统文件,例如某些具有提升权限的第三方程序。

无论如何,您都必须扫描您的系统并检查是否存在损坏或丢失的 Windows 资源保护 (WRP) 文件。 使用内置的命令行实用程序 System File Checker 检查损坏的系统文件并自动替换它们。

不过,您应该注意,在 Windows 10 上,您必须在运行系统文件检查器之前运行 DISM(收件箱部署映像服务和管理)工具。 DISM 的工作是提供修复过程所需的文件。 如果您不知道如何运行该实用程序,请按照以下步骤操作:

  1. 转到任务栏并单击放大镜图标以打开“开始”旁边的搜索框。 您也可以通过同时按下 Windows 和 S 键来打开搜索功能。
  2. 搜索实用程序打开后,在文本框中键入“命令提示符”(不带引号)。
  3. 一旦命令提示符出现在搜索结果中,右键单击它,然后单击上下文菜单中的以管理员​​身份运行。
  4. 弹出用户帐户控制对话框窗口后,单击是按钮。
  5. 出现命令提示符后,转到黑屏,键入以下行,然后按 Enter 键:

DISM.exe /Online /Cleanup-image /Restorehealth

DISM 现在将获取 SFC 将用于运行修复的系统文件。 通常,该工具使用 Windows 更新实用程序来获取这些文件; 但是,由于您在使用该实用程序时遇到问题,您必须使用 Windows 10 安装 DVD 或其他可启动媒体作为修复源。

插入可启动媒体后,输入以下行:

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source: C:\RepairSource\Windows /LimitAccess

请注意, C:\RepairSource\Windows参数表示可启动媒体中 Windows 文件夹的路径。 如果您有 Windows 的 ISO 文件,则可以将其解压缩并使用该文件夹。

命令执行后,进入下一步。

  1. 现在,输入“sfc /scannow”(不带引号),然后按 Enter 键。
  2. 如果您看到一条完成消息,显示“Windows 资源保护发现损坏的文件并成功修复它们”,请重新启动您的系统,该错误不应再次出现。
  3. 但是,如果您看到不同的完成消息,例如“Windows 资源保护无法执行请求的操作”,则必须以安全模式启动系统并运行 SFC 工具。 以下步骤将向您展示如何操作:
  • 通过右键单击“开始”按钮并选择“设置”或使用 Windows + I 键盘组合打开“设置”应用程序。
  • 设置应用程序打开后,单击主屏幕底部的更新和安全。
  • 出现更新和安全界面后,转到左侧窗格并单击恢复
  • 转到右窗格,向下滚动,然后单击高级启动下的立即重新启动。
  • 一旦您的 PC 重新启动到高级启动环境,单击疑难解答磁贴
  • 在疑难解答屏幕上,单击高级选项。
  • 现在,看到“高级选项”界面后,单击“启动设置”。
  • 单击启动设置下的重新启动按钮。
  • 计算机重新启动到启动选项环境后,点击键盘上的 F4 以安全模式启动 Windows,或点击 F5 以进入带网络的安全模式。
  • 一旦您的 PC 启动到安全模式,转到 %WinDir%\WinSxS\Temp 文件夹(您可以在运行中输入它)并确保 PendingDeletes 和 PendingRename 文件夹位于那里。
  • 现在,运行 SFC 工具,如上所述。

重置 Winsock 组件

Windows 套接字是负责将数据从基于 Web 的应用程序(如 Windows 更新)传输到系统网络基础结构的组件。 它是驻留在硬盘上的 DLL 文件。 Winsock 组件与任何 DLL 文件一样,可能会损坏或包含错误的配置。 这很可能是 0x800f0900 错误的原因。

您可以轻松地重置 Winsock 组件以摆脱损坏或任何错误的数据配置。 以下步骤将引导您完成整个过程:

  1. 转到任务栏,然后单击“开始”按钮旁边的放大镜以召唤搜索栏。 您还可以同时点击 Windows 徽标和 S 键来启动搜索实用程序。
  2. 看到搜索栏后,在文本字段中输入“command”(不带引号)。
  3. 在搜索结果中看到命令提示符后,右键单击它并从上下文菜单中选择以管理员身份运行。
  4. 用户帐户控制确认对话框打开后,单击是按钮。
  5. 现在,在命令提示符窗口中键入下面的行并按下 Enter 键:

netsh winsock 重置

  1. 命令执行后重新启动系统,然后检查错误。

重置 Windows 更新组件

此过程涉及重置 SoftwareDistribution 和 Catroot2 文件夹。 这些文件夹包含以前下载的尚未安装的更新。 该错误可能会出现,因为这些文件夹中的文件已损坏,因此您必须清除它们才能重新开始更新过程。 我们将向您展示如何执行此操作以及如何重置后台情报传输服务的安全描述。

请按照以下步骤操作:

第一步:停止后台智能传输、Windows 更新应用程序标识和加密服务等 Windows 服务,以获取对 SoftwareDistribution 和 Catroot2 文件夹的访问权限:

  1. 右键单击“开始”按钮,然后单击“快速访问”菜单中的“运行”或使用 Windows + R 热键打开对话窗口。
  2. 运行打开后,在文本字段中输入“CMD”(不带引号),然后按 Enter。
  3. 当您看到“用户帐户控制”对话框时,单击“是”。
  4. 出现提升的命令提示符窗口后,在黑屏中键入以下行并在每行之后按 Enter:

净停止位

净停止 wuauserv

净停止 appidsvc

净停止 cryptsvc

第二步:通过输入或复制下面的命令行并将其粘贴到管理员命令提示符中,删除名为qmgr*.dat的文件:

德尔“%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat”

第三步:重命名SoftwareDistributionCatroot2文件夹。 为此,请键入或复制以下行并将其粘贴到黑屏中,并记住在键入每一行后必须按 Enter 键:

任 %systemroot%\SoftwareDistribution SoftwareDistribution.bak

任 %systemroot%\system32\catroot2 catroot2.bak

第四步:将 Windows 更新服务和后台智能传输服务的安全描述符重置为默认值。 将下面的行复制并粘贴到提升的命令提示符中,然后在每行之后按 Enter:

sc.exe sdset 位 D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

第五步:输入以下命令切换到System32文件夹:

cd /d %windir%\system32

第六步:现在,您必须重新注册与 Windows 更新相关的 DLL 文件。 为此,请输入下面的命令行,并确保在键入每一行后按 Enter 键:

regsvr32.exe atl.dll

regsvr32.exe urlmon.dll

regsvr32.exe mshtml.dll

regsvr32.exe shdocvw.dll

regsvr32.exe browseui.dll

regsvr32.exe jscript.dll

regsvr32.exe vbscript.dll

regsvr32.exe scrrun.dll

regsvr32.exe msxml.dll

regsvr32.exe msxml3.dll

regsvr32.exe msxml6.dll

regsvr32.exe actxprxy.dll

regsvr32.exe softpub.dll

regsvr32.exe wintrust.dll

regsvr32.exe dssenh.dll

regsvr32.exe rsaenh.dll

regsvr32.exe gpkcsp.dll

regsvr32.exe sccbase.dll

regsvr32.exe slbcsp.dll

regsvr32.exe cryptdlg.dll

regsvr32.exe oleaut32.dll

regsvr32.exe ole32.dll

regsvr32.exe shell32.dll

regsvr32.exe initpki.dll

regsvr32.exe wuapi.dll

regsvr32.exe wuaueng.dll

regsvr32.exe wuaueng1.dll

regsvr32.exe wucltui.dll

regsvr32.exe wups.dll

regsvr32.exe wups2.dll

regsvr32.exe wuweb.dll

regsvr32.exe qmgr.dll

regsvr32.exe qmgrprxy.dll

regsvr32.exe wucltux.dll

regsvr32.exe muweb.dll

regsvr32.exe wuwebv.dll

第七步:之后,进入注册表编辑器并删除一些错误的注册表项:

注意:在继续编辑注册表项之前,请务必仔细阅读说明。 注册表是一个敏感的数据库,如果您犯了最小的标点错误,您最终可能会处理系统不稳定问题。 因此,如果您对自己的技术技能没有信心,最好跳过这一步并继续下一个解决方案。

  1. 打开“运行”对话框,键入“regedit”(不带引号),然后单击“确定”。 在“用户帐户控制”对话框提示中确认您的决定。
  2. 注册表编辑器打开后,导航到左窗格并展开 HKEY_LOCAL_MACHINE。
  3. 转到组件并展开它。
  4. 现在,如果您在 COMPONENTS 下找到以下键,请删除它们:

PendingXml 标识符

下一个队列条目索引

AdvancedInstallersNeedResolving

在下一次修复之前,保存此网页或将其添加为书签,然后重新启动系统。

八步:重新启动您在第一步中禁用的服务。 键入下面的行并在键入每行后按 Enter:

网络起始位

净启动 wuauserv

网络启动 appidsvc

网络启动 cryptsvc

第九步:重新启动系统,并检查问题是否已解决。

执行干净启动

Windows 启动时启动的后台应用程序可能会干扰更新过程并触发错误。 您可以通过执行干净启动来确定这些应用程序中的哪一个负责。

执行干净启动意味着您必须防止每个启动应用程序在系统启动后自动加载。 完成后,您可以检查更新错误是否再次出现。 如果没有,那么这就是您确认启动程序是问题的原因。

以下步骤将向您展示如何执行干净启动并隔离有问题的启动服务或程序:

  1. 右键单击“开始”按钮,然后在出现“快速访问”菜单后单击“运行”。 您也可以按住 Windows 徽标键,然后点击 R 键启动运行。
  2. 运行打开后,键入“msconfig”(无引号),然后单击“确定”按钮。
  3. 出现“系统配置”对话框后,切换到“服务”选项卡。
  4. 在“服务”选项卡下,找到“隐藏所有 Microsoft 服务”复选框并标记它。
  5. 单击“全部禁用”按钮可停止选项卡下列出的服务在下次 Windows 启动时启动。
  6. 接下来,导航到“启动”选项卡,然后单击“打开任务管理器”。
  7. 您现在将被重定向到任务管理器的启动选项卡。
  8. 通过右键单击每个程序并单击禁用来禁用您在“启动”选项卡下看到的每个程序。
  9. 退出任务管理器并单击系统配置中的确定按钮。
  10. 重新启动您的电脑。

您的系统现在将在干净启动环境中启动。 您现在可以运行更新并检查错误是否出现。 如果错误没有出现,那么您禁用的启动项之一是您所面临的挑战的原因。

您现在必须确定哪个启动项与 Windows 更新发生冲突。 为此,请启用一个启动项,重新启动计算机,然后检查错误。 如果没有出现错误,请转到下一个启动项,启用它,然后重新启动。 重复这些步骤,直到一个启动程序或服务触发错误。

一个一个地浏览所有启动项可能是一个漫长的过程。 使用下面的指南,您可以为自己节省大量不必要的压力:

  1. 一旦您的系统在干净启动环境中启动,打开系统配置对话框,转到服务选项卡,并启用选项卡下的一半服务,最好是前半部分。
  2. 重新启动您的系统,如果发生 Windows 更新错误,则由列表前半部分中的服务之一负责。 您现在可以忽略所有其他服务,并一个接一个地检查上半部分的服务。
  3. 但是,如果问题没有发生,请启用服务的后半部分并检查问题。

如果“服务”选项卡下没有任何项目触发错误,请对“启动”选项卡下的程序执行步骤 1 至 3 的相同操作。

结论

如果您解决了问题,请随时使用下面的评论部分让我们知道哪种解决方案适合您。

受到推崇的

使用 Auslogics BoostSpeed 解决 PC 问题

除了清洁和优化您的 PC 之外,BoostSpeed 还可以保护隐私、诊断硬件问题、提供提高速度的技巧并提供 20 多种工具来满足大多数 PC 维护和服务需求。

Auslogics BoostSpeed 是 Auslogics 的产品,获得了 Microsoft 银级应用程序开发人员认证
免费下载

为了让您的系统运行顺畅并避免日后的潜在风险,我们建议您下载并安装 Ausologics BoostSpeed。 该程序会定期执行检查以删除可能会降低系统速度并导致其他问题的垃圾文件和损坏的注册表项。 它与 Windows 10 兼容,不会造成任何形式的干扰。