视窗

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

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

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

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

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

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

造成此问题的主要原因之一是系统文件损坏。也就是说,还有其他根本原因,例如与Windows Update相关的已禁用服务,不必要的缓存或缓存损坏,错误的Internet连接,防病毒或防火墙干扰以及错误的设备驱动程序等等。

如何在Windows 10上修复Windows Update错误0x800f0900?

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

运行Windows Update疑难解答

Microsoft提供了针对不同实用程序的故障排除工具,您会发现其中一种适用于Windows Update。该工具将解决冲突并激活某些已禁用的服务。运行它非常简单明了。请按照以下步骤操作:

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

摆脱临时文件

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

我们将在下面显示您的操作。

使用磁盘清理工具:

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

通过“设置”应用程序:

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

确保Windows Update服务正在运行

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

为了确保它们正在运行,您必须浏览“服务”应用程序。以下步骤将向您显示操作方法:

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

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

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

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

更新Orchestrator服务,

Windows Update服务

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

扫描您的PC是否存在恶意软件

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

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

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

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

扫描并摆脱损坏的系统文件

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

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

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

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

DISM.exe /在线/清洁图像/ Restorehealth

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

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

DISM.exe /在线/ Cleanup-Image / RestoreHealth /来源: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套接字是负责将数据从基于Windows的应用程序(如Windows Update)传输到系统的网络基础结构的组件。这是一个DLL文件,位于您的硬盘驱动器上。与任何DLL文件一样,Winsock组件可能损坏或包含错误的配置。很有可能是0x800f0900错误的原因。

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

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

netsh winsock重置

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

重置Windows更新组件

此过程涉及重置SoftwareDistribution和Catroot2文件夹。这些文件夹包含以前下载的尚未安装的更新。由于这些文件夹中的文件已损坏,因此可能会显示错误,因此您必须清除它们才能重新启动更新过程。我们将向您展示如何执行此操作以及如何重置Background Intelligence Transfer服务的安全性说明。

请按照以下步骤操作:

第一步:停止Windows服务,例如后台智能传输,Windows Update应用程序标识和加密服务,以访问SoftwareDistribution和Catroot2文件夹:

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

净停止位

净停止wuauserv

净止损appidsvc

净停止cryptsvc

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

删除“%ALLUSERSPROFILE%\ Application Data \ Microsoft \ Network \ Downloader \ qmgr * .dat”

第三步:重命名 软件发行猫根2 文件夹。为此,请键入或复制下面的行并将其粘贴到黑屏中,并记住输入每行后必须按Enter键:

任%systemroot%\ SoftwareDistribution SoftwareDistribution.bak

任%systemroot%\ system32 \ catroot2 catroot2.bak

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

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

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

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

cd / d%windir%\ system32

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

regsvr32.exe atl.dll

regsvr32.exe urlmon.dll

regsvr32.exe mshtml.dll

regsvr32.exe shdocvw.dll

regsvr32.exe browser.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. 现在,如果您在“组件”下找到以下项,请删除它们:

PendingXmlIdentifier

NextQueueEntryIndex

AdvancedInstallers需要解决

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

八步:重新启动在第一步中禁用的服务。输入以下各行,并在输入各行后按Enter:

净起始位

净启动wuauserv

净启动appidsvc

净启动cryptsvc

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

执行干净启动

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

执行干净启动意味着您必须阻止系统启动后自动加载每个启动应用程序。完成此操作后,您可以检查是否再次出现更新错误。如果不是,则表示您已确认启动程序是问题的原因。

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

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

您的系统现在将在“干净启动”环境中启动。现在,您可以运行更新并检查错误是否出现。如果未出现错误,则说明您所面临的挑战是您禁用的启动项目之一。

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

一个接一个地检查所有启动项可能是一个漫长的过程。使用下面的指南,您可以节省很多不必要的压力:

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

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

结论

如果您解决了该问题,请使用下面的评论部分让我们知道哪种解决方案对您有效。

为了保持系统运行平稳并避免将来发生潜在风险,建议您下载并安装Ausologics BoostSpeed。该程序会定期执行检查以删除垃圾文件和损坏的注册表项,这些注册表项可能会降低系统速度并引起其他问题。它与Windows 10兼容,不会造成任何形式的干扰。

$config[zx-auto] not found$config[zx-overlay] not found