- 余辉
-
症状
在尝试下载 ActiveX 控件、安装 Windows 或 Windows 组件的更新、安装 Windows 或 Windows 组件的 Service Pack、或者安装 Microsoft 或第三方软件程序时,可能会遇到以下一种或多种症状: u2022 尝试安装程序或更新时,可能会收到以下错误消息:
Digital Signature Not Found
The Microsoft digital signature affirms that software has been tested with Windows and that the software has not been altered since it was tested.
The software you are about to install does not contain a Microsoft digital signature.Therefore, there is no guarantee that this software works correctly with Windows.
Name of software package
If you want to search for Microsoft digitally signed software, visit the Windows Update Web site at http://windowsupdate.microsoft.com to see if one is available.
Do you want to continue the installation?
如果单击“详细信息”,则会收到以下消息:
Microsoft Windows
The signature on the software package you want to install is invalid.The software package is not signed properly.
在第一个错误消息对话框中单击“确定”后,可能会收到一条指出安装成功的消息,或收到以下错误消息:
Name of Update Package
The cryptographic operation failed due to a local security option setting.
u2022 尝试安装更新或安装 Service Pack 时,可能会收到类似以下某条内容的错误消息: u2022 Name of Update Package
Setup could not verify the integrity of the file Update.inf. Make sure the Cryptographic service is running on this computer.
u2022 Failed to install catalog files.
u2022 您正在安装的软件没有通过 Windows 徽标测试,无法验证它与 Windows XP 的兼容性。(告诉我为什么这个测试很重要。)
不会安装此软件。请与系统管理员联系。
u2022 您正在安装的软件没有通过 Windows 徽标测试,无法验证它同此 Windows 版本的兼容性。(告诉我为什么这个测试很重要。)
u2022 尝试安装 Windows XP Service Pack 时,可能会收到类似以下内容的错误消息:
Service Pack 1 Setup could not verify the integrity of the file.Make sure the Cryptographic service is running on this computer
u2022 尝试安装 Microsoft 数据访问组件 (MDAC) 2.8 时,可能会收到类似以下内容的错误消息:
INF 安装失败。原因:时间戳签名和/或证书无法验证或已损坏。
u2022 %WINDIR%System32CatRoot2Edb.log 可能会增大到 20 MB,尽管此文件通常不到 1 MB。
u2022 尝试从 Windows Update 网站或 Microsoft Update 网站安装程序包时,可能会收到类似以下内容的消息:
The software has not passed Windows logo testing and will not be installed.
u2022 检查 %systemroot%Windowsupdate.log 文件时,可能会看到下列某一项错误: u2022 0x80096001
u2022 0x80096005
u2022 0x80096010
u2022 0x800B0001
u2022 0x800B0003
u2022 0x800B0004
u2022 0x800B0109
u2022 0x8007f0da
u2022 在基于 Windows XP 的计算机上使用 Microsoft Windows Update 时,更新进程可能会失败,且您可能会收到“0x8007f007”错误消息。无论您选择哪种类型的更新,都可能出现此问题。
原因
如果存在下列一种或多种情况,可能会出现此问题: u2022 %Systemroot%System32Catroot2 文件夹中的日志文件或数据库损坏。
u2022 “加密服务”被设置为“禁用”。
u2022 其他 Windows 文件损坏或缺失。
u2022 时间戳签名或证书无法验证,或含有恶意代码。
u2022 为 %Windir% 文件夹或它的一个子文件夹设置了隐藏属性。
u2022 “未签名非驱动程序的安装操作”组策略设置(仅 Windows 2000)设置为“禁止安装”或“允许安装但发出警告”,或者以下注册表项中的“Policy”二进制值未设置为 0:
HKEY_LOCAL_MACHINESoftwareMicrosoftNon-Driver Signing
u2022 “启用可信发行商锁定”组策略设置被启用,而您在可信发行商证书存储区中没有适当的证书。该组策略设置位于组策略 MMC 管理单元中的“用户配置”、“Windows 设置”、“Internet Explorer 维护”、“安全”和“Authenticode 设置”下。
u2022 您正在安装 Internet Explorer 6 SP1,却安装了 823559 (MS03-023) 安全更新。 有关此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
828031 (http://support.microsoft.com/kb/828031/) 尝试安装 Internet Explorer 6 SP1 时出现错误消息“The Software You Are Installing Has Not Passed Windows Logo Testing...”(正在安装的软件未通过 Windows 徽标测试...)
u2022 出现此问题的原因是已损坏的软件分发文件夹存在问题。
解决方案
要解决此问题,请使用下面的方法。在执行每种方法中的步骤之后,应进行测试以查看问题是否得到解决,然后再转到下一种方法。如果用某一方法解决了问题,就不必使用其余的方法。
方法 1:重命名 Edb.log 文件
要解决此问题,请重命名 Edb.log 文件,然后尝试再次安装此程序。要重命名 Edb.log 文件,请按照下列步骤操作: 1. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
2. 在命令提示符下,键入以下命令并按 Enter:
ren %systemroot%system32catroot2Edb.log *.tst
方法 2:将“加密服务”设置为自动
将“加密服务”设置为“自动”,然后尝试再次安装此程序。要将“加密服务”设置为“自动”,请按照下列步骤操作: 1. 启动“控制面板”中的“管理工具”实用工具。
2. 双击“服务”。
3. 右键单击“加密服务”,然后单击“属性”。
4. 对于“启动类型”,请单击“自动”,然后单击“启动”。
注意:Windows 2000 未在“服务”管理实用工具中列出“加密服务”。
方法 3:重命名 Catroot2 文件夹
重命名 Catroot2 文件夹(仅适用于 Windows XP 和 Windows Server 2003),然后尝试再次安装此程序。
注意:如果操作系统为 Windows 2000,则跳过此方法。
要重命名 Catroot2 文件夹,请按照下列步骤操作: 1. 从以下文件夹中删除所有 tmp*.cat 文件:
%systemroot%system32CatRoot{127D0A1D-4EF2-11D1-8608-00C04FC295EE} %systemroot%system32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
2. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
3. 在命令提示符下,键入以下几行命令,并在每行之后按 Enter:
net stop cryptsvc
ren %systemroot%System32Catroot2 oldcatroot2
net start cryptsvc
exit
重要说明:不要重命名 Catroot 文件夹。Catroot2 文件夹是由 Windows 自动重新创建的,但 Catroot 文件夹在重命名后不会重新创建。
回到顶端
方法 4:重新注册与“加密服务”关联的 DLL 文件
要注册与“加密服务”关联的 .dll 文件,请按照下列步骤操作: 1. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
2. 在命令提示符下,键入以下命令,并在键入每行命令后按 Enter:
regsvr32 /u softpub.dll
regsvr32 /u wintrust.dll
regsvr32 /u initpki.dll
regsvr32 /u dssenh.dll
regsvr32 /u rsaenh.dll
regsvr32 /u gpkcsp.dll
regsvr32 /u sccbase.dll
regsvr32 /u slbcsp.dll
regsvr32 /u mssip32.dll
regsvr32 /u cryptdlg.dll
exit
注意:得到提示时单击“确定”。
注意:Microsoft Windows 2000 不包含 Sccbase.dll 文件。如果您运行的是某个版本的 Windows 2000,请省略此 Sccbase.dll 文件。
3. 重新启动计算机。
4. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
5. 在命令提示符下,键入以下命令,并在键入每行命令后按 Enter:
regsvr32 softpub.dll
regsvr32 wintrust.dll
regsvr32 initpki.dll
regsvr32 dssenh.dll
regsvr32 rsaenh.dll
regsvr32 gpkcsp.dll
regsvr32 sccbase.dll
regsvr32 slbcsp.dll
regsvr32 mssip32.dll
regsvr32 cryptdlg.dll
exit
注意:得到提示时单击“确定”。
注意:Microsoft Windows 2000 不包含 Sccbase.dll 文件。如果您运行的是某个版本的 Windows 2000,请省略此 Sccbase.dll 文件。
方法 5:删除 %Windir% 及其子文件夹的隐藏属性
1. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
2. 在命令提示符下键入以下命令,并在键入每行后按 Enter:
attrib -s -h %windir%
attrib -s -h %windir%system32
attrib -s -h %windir%system32catroot2
exit
方法 6:将非驱动程序签名策略设置为默认继续
如果您运行的是某个版本的 Windows 2000,请将“未签名的非驱动程序安装操作”组策略设置配置为“默认继续”。该组策略设置位于组策略 MMC 管理单元中的“计算机配置”、“Windows 设置”、“安全设置”、“本地策略”和“安全选项”下。如果您运行的是 Windows XP 或 更高版本的 Windows,则系统将不再支持此组策略设置。在这种情况下,请按照下列步骤操作以解决此问题: 1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2. 在注册表中找到并单击下面的项:
HKEY_LOCAL_MACHINESoftwareMicrosoftNon-Driver Signing
3. 右键单击“Policy”二进制值,然后单击“修改”。
4. 此数值数据将显示为下面的格式:
0000 02
按 Delete 删除当前值(在本例中为 02),然后键入 0(当前值现在将显示为 00)。
5. 单击“确定”,然后退出注册表编辑器。
方法 7:临时关闭“可信发行商锁定”,然后在您的可信发行商证书存储区中安装适当的证书
您可以继续使用“启用可信发行商锁定”组策略设置,但是必须首先向您的“可信发行商”证书存储区中添加适当的证书。为此,请关闭“启用可信发行商锁定”组策略设置,在您的“可信发行商”证书存储区中安装适当的证书,然后重新打开“启用可信发行商锁定”组策略设置。要为 Microsoft Windows 和 Microsoft Internet Explorer 产品更新安装适当的证书,请按照下列步骤操作: 1. 从 Microsoft 下载中心、Windows Update 目录或 Microsoft Update 目录中下载您要安装的 Microsoft 产品更新。 有关如何从 Microsoft 下载中心下载产品更新的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 (http://support.microsoft.com/kb/119591/) 如何从联机服务获取 Microsoft 支持文件
有关如何从 Windows Update 目录或 Microsoft Update 目录下载产品更新的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
323166 (http://support.microsoft.com/kb/323166/) 如何从 Windows Update 目录下载更新和驱动程序
2. 将产品更新包提取到一个临时文件夹中。此操作所用的命令行命令取决于您要安装的更新。请查看与该更新有关的 Microsoft 知识库文章,以确定用于提取程序包的相应命令行开关。例如,要将用于 Windows XP 的 824146 安全更新提取到 C:824146 文件夹中,请运行 Windowsxp-kb824146-x86-chs -x:c:824146。要将用于 Windows XP 的 828750 安全更新提取到 C:828750 文件夹中,请运行 q828750.exe /c /t:c:828750。
3. 在步骤 2 中创建的临时文件夹中,右键单击产品更新包中的 KBNumber.cat 文件,然后单击“属性”。
注意:KBNumber.cat 文件可能位于子文件夹中。例如,该文件可能位于 C:824146sp1update 文件夹或 C:824146sp2update 文件夹中。
4. 在“数字签名”选项卡上,单击数字签名,然后单击“详细信息”。
5. 单击“查看证书”,然后单击“安装证书”。
6. 单击“下一步”启动“证书导入向导”。
7. 单击“将所有证书放入下列存储区”,然后单击“浏览”。
8. 单击“可信发行商”,然后单击“确定”。
9. 单击“下一步”,单击“完成”,然后单击“确定”。
方法 8:验证证书路径中的所有证书的状态,并从另一台计算机导入缺失或损坏的证书
要验证 Windows 或 Internet Explorer 产品更新的证书路径中的证书,请按照下列步骤操作:
步骤 1:验证 Microsoft 证书
1. 在 Internet Explorer 中,单击“工具”,然后单击“Internet 选项”。
2. 在“内容”选项卡上,单击“证书”。
3. 在“受信任的根证书颁发机构”选项卡上,双击“Microsoft Root Authority”。如果此证书不存在,请转至步骤 2。
4. 在“常规”选项卡上,确保“有效期起始日期”为“1/10/1997 到 12/31/2020”。
5. 在“证书路径”选项卡上,验证“证书状态”下是否显示有“该证书没有问题”。
6. 单击“确定”,然后双击“NO LIABILITY ACCEPTED”证书。
7. 在“常规”选项卡上,确保“有效期起始日期”为“5/11/1997 到 1/7/2004”。
8. 在“证书路径”选项卡上,验证“证书状态”下是否显示有“该证书已过期,或者尚未生效”或“该证书没有问题”。
注意:尽管此证书已过期,但是还可以继续使用。如果该证书丢失或被吊销,操作系统可能无法正常运行。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
293781 (http://support.microsoft.com/kb/293781/) Windows Server 2003、Windows XP 和 Windows 2000 要求的受信任根证书
9. 单击“确定”,然后双击“GTE CyberTrust Root”证书。您可能有多个这样名称相同的证书。检查证书的终止日期是否为 2/23/2006。
10. 在“常规”选项卡上,确保“有效期起始日期”为“2/23/1996 到 2/23/2006”。
11. 在“证书路径”选项卡上,验证“证书状态”下是否显示有“该证书没有问题”。
注意:尽管此证书已过期,但是还可以继续使用。如果该证书丢失或被吊销,操作系统可能无法正常运行。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
293781 (http://support.microsoft.com/kb/293781/) Windows Server 2003、Windows XP 和 Windows 2000 要求的受信任根证书
12. 单击“确定”,然后双击“Thawte Timestamping CA”。
13. 在“常规”选项卡上,确保“有效期起始日期”为“12/31/1996 到 12/31/2020”。
14. 在“证书路径”选项卡上,验证“证书状态”下是否显示有“该证书没有问题”。
步骤 2:导入丢失或损坏的证书
如果这些证书中有一个或多个丢失或损坏,请将丢失或损坏的证书导出到另一台计算机上,然后在您的计算机上安装这些证书。要将证书导出到另一台计算机上,请按照下列步骤操作: 1. 在 Internet Explorer 中,单击“工具”,然后单击“Internet 选项”。
2. 在“内容”选项卡上,单击“证书”。
3. 在“受信任的根证书颁发机构”选项卡上,单击您要导出的证书。
4. 单击“导出”,然后按照说明将证书导出为“DER 编码二进制 x.509(.CER)”文件。
5. 导出证书文件后,将它复制到要导入的计算机中。
6. 在要导入证书的计算机上,双击该证书。
7. 单击“安装证书”,然后单击“下一步”。
8. 单击“完成”,然后单击“确定”。
方法 9:清除临时文件并重新启动修复程序安装或 Service Pack 安装
要清除临时文件并重新启动修复程序安装或 Service Pack 安装,请按照下列步骤操作: 1. 从以下文件夹中移出所有 tmp*.cat 文件:
%systemroot%system32CatRoot{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
%systemroot%system32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
2. 在命令提示符下键入以下内容,然后按 Enter:
net stop cryptsvc rename the %systemroot%system32CatRoot2 %systemroot%system32oldcatRoot2 net start cryptsvc
3. 重新启动失败的修复程序安装或 Service Pack 安装。
方法 10:清除软件分发文件夹中的所有文件。为此,请按照下列步骤操作:
1. 单击“开始”,单击“运行”,键入 services.msc,然后单击“确定”。
2. 在“服务(本地)”窗格中,右键单击“Automatic Updates”,然后单击“停止”。
3. 最小化“服务(本地)”窗口。
4. 选择 Windows 分发文件夹中的所有内容,然后删除它们。
注意:默认情况下,Windows 分发文件夹位于 drive:WindowsSoftwareDistribution 文件夹中。其中,drive 是代表安装了 Windows 的驱动器的占位符。
5. 确保 Windows 分发文件夹为空,然后最大化“服务(本地)”窗口。
6. 在“服务(本地)”窗格中,右键单击“Automatic Updates”,然后单击“开始”。
7. 重新启动计算机,然后再次运行 Windows Update。