无法在 Windows XP 中安装某些更新或程序

彩虹网

本文提供了一些高级手动方法,可用于修复一些阻止安装某些更新或程序的问题。

原始 KB 数: 822798

现象

尝试下载 ActiveX 控件、安装 Windows 或 Windows 组件的更新、为 Windows 或 Windows 组件安装 Service Pack 或安装 Microsoft 或第三方软件程序时,可能会遇到以下一个或多个症状:

注意

这些问题可能由于这些原因。

尝试安装 Windows XP Service Pack 时,会收到类似于以下内容的错误消息:

Service Pack 1 安装程序无法验证文件的完整性。 确保加密服务在此计算机上运行。

尝试安装 Microsoft 数据访问组件 (MDAC) 2.8 时,会收到类似于以下内容的错误消息:

INF 安装失败。 原因:时间戳签名和/或证书无法验证或格式不正确。

%WINDIR%\System32\CatRoot2\Edb.log可能增长到 20 兆字节(MB),即使文件通常小于 1 MB。

尝试从 Windows 更新 网站或从 Microsoft 更新网站安装包时,会收到如下所示的消息:

该软件尚未通过 Windows 徽标测试,并且不会安装。

检查 %systemroot%\Windowsupdate.log 文件时,会看到以下错误之一的条目:

在基于 Windows XP 的计算机上使用Microsoft Windows 更新时,更新过程会失败,并且会收到0x8007f007错误消息。 无论选择哪种类型的更新,都可能发生此情况。

Svcpack.log文件可能包含类似于以下内容的条目

937.406:GetCatVersion:无法从 C:\WINDOWS\system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Tmp.0.scw.cat 检索版本信息,出现错误 0x57 937.437:GetCatVersion:无法从 C:\WINDOWS\Tmp.0.scw.cat 检索版本信息,出现错误 0x80092004 940.344:InstallSingleCatalogFile:MyInstallCatalog 对 Tmp.0.scw.cat 失败;错误=0xfffffbfe。 940.344:DoInstallation:MyInstallCatalogFiles 失败:STR_CATALOG_INSTALL_FAILED

955.125:UnRegisterSpuninstForRecovery,无法删除 SpRecoverCmdLine 值,错误0x2

955.125:DoInstallation:注销spuninst.exe失败,无法进行恢复。

962.656:注销卸载程序 -> Windows Server 2003 服务包,0

962.656:无法安装目录文件。 1448.406:向用户显示的消息:无法安装目录文件。

1448.406:用户输入:确定

1448.406:Update.exe扩展错误代码 = 0xf01e

1448.406:Update.exe 返回代码已屏蔽为0x643,以便于符合 MSI 自定义操作要求。

原因

在以下任一情况下都可能出现这些问题:

方法 1:重命名Edb.log文件

重命名Edb.log文件,然后再次尝试安装该程序。 若要重命名Edb.log文件,请执行以下步骤:

单击“开始”,单击“运行”,在“打开”框中键入 cmd,然后单击“确定”。

注意

在基于 Windows Vista 的计算机上,单击“开始”,在“开始搜索”文本框中键入 cmd,右键单击cmd.exe,然后单击“以管理员身份运行”。

在命令提示符下,键入以下命令,然后按 Enter:

ren %systemroot%\system32\catroot2\Edb.log *.tst

方法 2:暂时关闭“受信任发布者安全锁定”,并将相应的证书安装到受信任发布者的证书存储区中

可以继续使用 “启用受信任的发布者锁定 组策略”设置,但必须先将相应的证书添加到受信任的发布者证书存储。 为此,请关闭 “启用受信任的发布者锁定 组策略”设置,在受信任的发布者证书存储中安装相应的证书,然后重新启用 “启用受信任的发布者锁定 组策略”设置。 若要安装适用于 Microsoft Windows 和 Microsoft Internet Explorer 产品更新的相应证书,请执行以下步骤:

从Microsoft下载中心、Windows 更新目录或Microsoft更新下载要安装的Microsoft产品更新。

有关如何从Microsoft下载中心下载产品更新的详细信息,请查看 如何从联机服务目录获取Microsoft支持文件。

有关如何从Windows 更新目录中下载产品更新的详细信息,请查看如何从Windows 更新目录中下载包含驱动程序和修补程序的更新。

将产品更新包提取到临时文件夹。 用于执行此操作的命令行命令取决于要尝试安装的更新。 查看与更新关联的Microsoft知识库文章,以确定用于提取包的相应命令行开关。 例如,若要将 Windows XP 的824146安全更新提取到 C:\824146 文件夹,请运行 Windowsxp-kb824146-x86-enu -x:c:\824146。 若要将 Windows XP 的 828750 安全更新提取到 C:\828750 文件夹,请运行 q828750.exe /c /t:c:\828750。

右键单击步骤 2 中创建的临时文件夹中产品更新包中的 KB Number.cat 文件,然后单击“ 属性”。

注意

KB Number.cat 文件可能位于子文件夹中。 例如,该文件可能位于 C:\824146\sp1\update 文件夹或 C:\824146\sp2\update 文件夹中。

在 “数字签名 ”选项卡上,单击数字签名,然后单击“ 详细信息”。

单击“查看证书”,然后单击“安装证书”。

单击“下一步”以启动证书导入向导。

单击“ 将所有证书放入以下存储区”,然后单击“ 浏览”。

单击“受信任的发布者”,然后单击“确定”。

单击“ 下一步”,单击“ 完成”,然后单击“ 确定”。

方法 3:验证证书路径中所有证书的状态,并从另一台计算机导入丢失或损坏的证书

若要验证 Windows 或 Internet Explorer 产品更新证书路径中的证书,请执行以下步骤:

步骤 1:验证 Microsoft 证书

在 Internet Explorer 中,单击“工具”,然后单击“Internet 选项”。

在 “内容 ”选项卡上,单击“ 证书”。

在 “受信任的根证书颁发机构 ”选项卡上,双击 Microsoft根颁发机构。 如果缺少此证书,请转到步骤 2。

在 “常规 ”选项卡上,确保 从日期起 的有效期为 1/10/1997 到 2020 年 12 月 31 日。

在“证书路径”选项卡上,验证此证书是否在“证书状态”下显示。

单击确定,然后双击不承担责任确认证书。

在 “常规 ”选项卡上,确保 日期有效期 为 1997 年 5 月 11 日到 2004 年 1 月 7 日。

在“认证路径”选项卡上,验证在证书状态下是否显示“此证书已过期或尚无效”或“此证书正常”。

注意

尽管此证书已过期,但证书将继续工作。 如果证书丢失或吊销,操作系统可能无法正常工作。 有关详细信息,请查看 所需的受信任根证书。

单击“确定”,然后双击GTE CyberTrust 根证书。 可能有多个具有相同名称的证书。 检查到期日期为 2006 年 2 月 23 日的证书。

在 常规 选项卡上,确保 有效期从 1996 年 2 月 23 日到 2006 年 2 月 23 日。

在“证书路径”选项卡上,验证此证书是否在“证书状态”下显示。

注意

尽管此证书已过期,但证书将继续工作。 如果证书丢失或吊销,操作系统可能无法正常工作。

单击“确定”,然后双击“Thawte Timestamping CA”。

在 “常规 ”选项卡上,确保 日期的 有效期为 12/31/1996 到 2020 年 12 月 31 日。

在“证书路径”选项卡上,验证此证书是否在“证书状态”下显示。

步骤 2:导入丢失或损坏的证书

如果其中一个或多个证书丢失或损坏,请将缺失或损坏的证书导出到另一台计算机,然后在计算机上安装证书。 若要在另一台计算机上导出证书,请执行以下步骤:

在 Internet Explorer 中,单击“工具”,然后单击“Internet 选项”。在 “内容 ”选项卡上,单击“ 证书”。在 “受信任的根证书颁发机构 ”选项卡上,单击要导出的证书。单击“导出”,然后按照说明将证书导出为 DER 编码的二进制 x.509()。CER) 文件。导出证书文件后,将其复制到要导入它的计算机。在要导入证书的计算机上,双击该证书。单击“安装证书”,然后单击“下一步”。单击“完成”,然后单击“确定”。方法 4:清除临时文件并重启修补程序安装或 Service Pack 安装

若要清除临时文件并重启修补程序安装或 Service Pack 安装,请执行以下步骤:

单击“开始” ,再单击“运行” ,键入 cmd,然后单击“确定” 。

在命令提示符处,键入以下命令。 在每个命令后按 Enter。

net stop cryptsvc
ren %systemroot%\System32\Catroot2 oldcatroot2
net start cryptsvc
exit

删除以下文件夹中的所有 tmp*.cat 文件:

如果此文件夹中不存在以 tmp 开头的文件,请不要删除任何其他文件。 此文件夹中的 .cat 文件是安装修补程序和服务包所必需的。

重要

不要重命名 Catroot 文件夹。 Catroot2 文件夹会由 Windows 自动重新创建,但是,如果重命名了 Catroot 文件夹,Windows 将不会重新创建它。

从 %systemroot% \inf 文件夹中删除所有 oem*.* 文件。

重启失败的修补程序安装或 Service Pack 安装。

方法 5:清空软件分发文件夹

单击“开始”,单击“运行”,键入 services.msc,然后单击“确定”。

注意

在基于 Windows Vista 的计算机上,单击“开始”,在“开始搜索”框中键入 services.msc,右键单击 services.msc,然后单击“以管理员身份运行”。

在“服务”(本地)窗格中,右键单击“ 自动更新”,然后单击“ 停止”。

最小化“服务”(本地)窗口。

选择 Windows 分发文件夹的所有内容,然后删除它们。

注意

默认情况下,Windows 分发文件夹位于 驱动器 :\Windows\SoftwareDistribution 文件夹中。 在此位置, 驱动器 是安装 Windows 的驱动器的占位符。

确保 Windows 分发文件夹为空,然后最大化“服务”(本地)窗口。

在“ 服务”(本地) 窗格中,右键单击“ 自动更新”,然后单击“ 开始”。

重新启动计算机,然后再次运行Windows 更新。

方法 6:执行就地升级

如果所有这些方法都无法解决问题,可能需要执行就地升级。

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。