解决自动更新 cab 中提取第三方的根目录列表失败问题

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

今天检查了一下新装的Windows 7系统的事件,在控制面板,事件查看器中 – Windows 日志 – 应用程序,发现有大量来源为CAPI32的错误,甚至已经“达到 50 事件的 crypt32 阈值,将暂停记录 60 分钟。”的警告,看来问题不小,具体错误描述如下:

在 <http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab> 从自动更新 cab 中提取第三方的根目录列表失败,错误为: 根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。

寻求网络后得到微软的KB文章一篇《在 Windows Vista、Windows Server 2008 以及更高版本的 Windows 和 Windows Server 的应用程序日志中记录了事件 ID 4107 或事件 ID 11》,得知这个问题是由于“Microsoft 证书信任列表发行商证书已过期。CryptnetUrlCache 文件夹中存在签名证书已过期的 CTL 的副本。 ”,所以要清除过期缓存,微软为我们提供了两种解决方案,其中第一种最为简单和人性化,使用微软的Fix It一键快速修复,下载地址在这里。第二种办法就是遵循下面的步骤手动修复(我这里大概摘录一下,详细的请访问原文):

1. 打开命令提示符,开始 – 所有程序 – 附件,然后启动命令提示符。
2. 输入命令certutil -urlcache * delete并回车。
3. 如果过期的证书缓存在某个本地系统配置文件中,您必须使用 Windows 资源管理器删除一些目录的内容。
显示所有的隐藏和受保护的操作系统文件,单击“组织”,然后单击“文件夹和搜索选项”,其余你可以参考这里的部分叙述

删除列在此处的目录内容。(%windir% 是 Windows 目录。)
注意 您可能会收到一条消息,指出您无权访问该文件夹。如果收到此消息,请单击“继续”。
LocalService:
%windir%\ServiceProfiles\LocalService\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
%windir%\ServiceProfiles\LocalService\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData

NetworkService:
%windir%\ServiceProfiles\NetworkService\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
%windir%\ServiceProfiles\NetworkService\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData

LocalSystem:
%windir%\System32\config\systemprofile\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
%windir%\System32\config\systemprofile\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData

若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

  1. 我昨天用了这个命令,也删了那两个文件夹里的文件、今天咋还报呢、、而且差不多是两个小时就报一次>﹏<

    • 抱歉,由于本文时间久远,而且本人问题已经通过文中所述方式解决,无法复现你的问题,建议你可以打开系统更新升级系统或者联系微软社区寻求帮助。

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*