无法在 Windows XP 中安装某些更新或程序
本文提供了一些高级手动方法,这些方法可用于修复一些阻止你安装某些更新或程序的问题。
适用于:Windows 10 - 所有版本,Windows Server 2012 R2
原始 KB 编号: 822798
症状
当你尝试下载 ActiveX 控件、安装 Windows 或 Windows 组件的更新、安装适用于 Windows 或 Windows 组件的 Service Pack 或安装 Microsoft 或第三方软件程序时,可能会遇到以下一个或多个症状:
注意
这些问题可能 出于这些原因而发生。
尝试安装程序或更新时,会收到以下错误消息:
找不到数字签名
Microsoft 数字签名确认软件已经过 Windows 测试,并且软件自测试以来未更改。
要安装的软件不包含 Microsoft 数字签名。 因此,无法保证此软件在 Windows 中正常工作。
软件包的名称
如果要搜索 Microsoft 数字签名的软件,请访问 Windows 更新 网站http://update.microsoft.com
,查看是否有可用软件。
是否继续安装?如果单击“ 详细信息”,则会收到以下消息:
Microsoft Windows
要安装的软件包上的签名无效。 软件包未正确签名。在第一个错误消息对话框中单击 “确定” 后,将收到一条消息,指出安装成功,或收到以下错误消息:
更新包的名称
由于本地安全选项设置,加密操作失败。尝试安装更新或安装 Service Pack 时,会收到类似于以下内容之一的错误消息:
错误 1
更新包的名称
安装程序无法验证文件 Update.inf 的完整性。 请确保加密服务正在此计算机上运行。错误 2
未能安装目录文件。
错误 3
你安装的软件尚未通过 Windows 徽标测试来验证其与 Windows XP 的兼容性。 (告诉我为什么此测试很重要。)
不会安装此软件。 与系统管理员保持联系。错误 4
你安装的软件尚未通过 Windows 徽标测试来验证其与此版本的 Windows 的兼容性。 (告诉我为什么此测试很重要。)
尝试安装 Windows XP Service Pack 时,会收到类似于以下内容的错误消息:
Service Pack 1 安装程序无法验证文件的完整性。 请确保加密服务正在此计算机上运行。
尝试 (MDAC) 2.8 安装 Microsoft 数据访问组件时,会收到类似于以下内容的错误消息:
INF 安装失败。 原因:时间戳签名和/或证书无法验证或格式不正确。
%WINDIR%\System32\CatRoot2\Edb.log) 可能会增加到 20 MB (MB,即使文件通常小于 1 MB 也是如此。
尝试从Windows 更新网站或 Microsoft 更新网站安装包时,会收到类似于以下内容的消息:
该软件尚未通过 Windows 徽标测试,并且不会安装。
检查 %systemroot%\Windowsupdate.log 文件时,会看到以下错误之一的条目:
- 0x80096001
- 0x80096005
- 0x80096010
- 0x800B0001
- 0x800B0003
- 0x800B0004
- 0x800B0109
- 0x8007f0da
- 0x8007f01e
在基于 Windows XP 的计算机上使用 Microsoft Windows 更新时,更新过程会失败,并且你会收到0x8007f007错误消息。 无论选择哪种类型的更新,都可能会发生这种情况。
Svcpack.log 文件可能包含类似于以下内容的条目
937.406:GetCatVersion:无法从 C:\WINDOWS\system32 \CatRoot 检索版本信息{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Tmp.0.scw.cat,并出现错误 0x57 Tmp.0.scw.cat 937.437:GetCatVersion:无法从 C:\WINDOWS\Tmp.0.scw.cat 检索版本信息,错误0x80092004 940.344:InstallSingleCatalogFile: MyInstallCatalog Tmp.0.scw.cat 失败;error=0xfffffbfe。 940.344:DoInstallation:MyInstallCatalogFiles failed:STR_CATALOG_INSTALL_FAILED
955.125:UnRegisterSpuninstForRecovery,无法删除 SpRecoverCmdLine 值,错误0x2
955.125:DoInstallation:无法注销恢复 spuninst.exe。
962.656:取消注册卸载程序 -> Windows Server 2003 Service Pack,0
962.656:无法安装目录文件。 1448.406:向用户显示的消息:无法安装目录文件。
1448.406:用户输入:确定
1448.406:Update.exe 扩展错误代码 = 0xf01e
1448.406:Update.exe 返回代码被屏蔽为0x643,以符合 MSI 自定义操作。
原因
在以下任一情况下,都可能出现这些问题:
- %Systemroot%\System32\Catroot2 文件夹中存在日志文件或数据库损坏。
- 加密服务 设置为 “已禁用”。
- 其他 Windows 文件已损坏或丢失。
- 时间戳签名或证书无法验证或格式不正确。
- 隐藏属性是为 %Windir% 文件夹或其子文件夹之一设置的。
- “未签名的非驱动程序安装行为组策略”设置 (Windows 2000 仅) 设置为“不允许安装”或“警告但允许安装”,或者以下注册表项中的“策略二进制值”未设置为 0:
HKEY_LOCAL_MACHINE\Software\Microsoft\Non-Driver Signing
- 启用受信任的发布者锁定组策略设置处于打开状态,并且受信任的发布者证书存储中没有相应的证书。 此组策略设置位于“用户配置”下、“Windows 设置”下、“Internet Explorer 维护”下、“安全”下,位于“组策略 MMC”管理单元的“验证码设置”下。
- 你正在安装 Internet Explorer 6 SP1,并且已安装823559 (MS03-023) 安全更新。
- 软件分发文件夹已损坏。
方法 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 到 12/31/2020。
在“ 证书路径 ”选项卡上,验证 “证书状态 ”下是否显示“此 证书正常”。
单击“ 确定”,然后双击“ 无责任接受 证书”。
在“ 常规 ”选项卡上,确保 “从 日期 5/11/1997 到 1/7/2004 有效”。
在“证书路径”选项卡上,验证“证书状态”下是否显示“此证书已过期或尚未有效”或“此证书正常”。
注意
尽管此证书已过期,但证书将继续有效。 如果证书缺失或吊销,操作系统可能无法正常工作。 有关详细信息,请参阅 所需的受信任根证书。
单击“ 确定”,然后双击 “GTE CyberTrust 根 证书”。 你可能有多个同名的证书。 检查过期日期为 2006/2/23 的证书。
在“ 常规 ”选项卡上,确保 “有效日期 ”为 2/23/1996 到 2006/2/23。
在“ 证书路径 ”选项卡上,验证 “证书状态 ”下是否显示“此 证书正常”。
注意
尽管此证书已过期,但证书将继续有效。 如果证书缺失或吊销,操作系统可能无法正常工作。
单击“ 确定”,然后双击“ 解冻时间戳 CA”。
在“ 常规 ”选项卡上,确保 “从 日期 12/31/1996 到 12/31/2020 有效”。
在“ 证书路径 ”选项卡上,验证 “证书状态 ”下是否显示“此 证书正常”。
步骤 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 文件:
- %systemroot% \system32\CatRoot{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
- %systemroot% \system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
如果此文件夹中不存在以 tmp 开头的文件,请不要删除任何其他文件。 安装修补程序和 Service Pack 时,需要此文件夹中的 .cat 文件。
重要
不要重命名 Catroot 文件夹。 Catroot2 文件夹由 Windows 自动重新创建,但如果 Catroot 文件夹已重命名,则不会重新创建 Catroot 文件夹。
从 %systemroot% \inf 文件夹中删除所有 oem*.* 文件。
重启失败的修补程序安装或 Service Pack 安装。
方法 5:清空软件分发文件夹
单击 “开始”,单击“ 运行”,键入 services.msc,然后单击“ 确定”。
注意
在基于 Windows Vista 的计算机上,单击“ 开始”,在“ 开始搜索 ”框中键入 services.msc,右键单击“ services.msc”,然后单击“ 以管理员身份运行”。
在“服务 (本地) ”窗格中,右键单击“自动汇报”,然后单击“停止”。
最小化“服务 (本地) ”窗口。
选择 Windows 分发文件夹的所有内容,然后将其删除。
注意
默认情况下,Windows 分发文件夹位于 驱动器 :\Windows\SoftwareDistribution 文件夹中。 在此位置中, 驱动器 是安装 Windows 的驱动器的占位符。
确保 Windows 分发文件夹为空,然后最大化服务 (本地) 窗口。
在“服务 (本地) ”窗格中,右键单击“自动汇报”,然后单击“启动”。
重新启动计算机,然后再次运行Windows 更新。
方法 6:执行就地升级
如果所有这些方法都无法解决问题,则可能必须执行就地升级。
数据收集
如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈