我有一台 Windows 7 系统,目前有一个待处理的更新:
适用于 Windows 7(基于 x64 的系统)的 Windows Internet Explorer 9
如果我尝试安装更新,Windows 更新将:
- 创建还原点
- 失败并出现错误:代码 9C48 Windows 更新遇到错误。
该事件的事件日志内容如下:
安装失败:Windows 无法安装以下更新,错误为 0x80070643:适用于基于 x64 的系统的 Windows 7 的 Windows Internet Explorer 9。
如果您在网上搜索该错误,会发现还有很多人遇到了完全相同的问题。
遗憾的是,我无法将建议的解决方案应用于我的情况,因为我只是安装了这个系统。
除了 Windows 7,上面什么都没有。我安装了系统并运行了更新。
我还做了完全一样由于我们刚刚开始进行长期测试,过去几天我们对这台机器进行了多次处理。
在之前的安装运行中,我没有遇到任何 Windows 更新问题,并且我知道这次我没有做任何不同的事情,因为我遵循了测试期间要使用的安装程序说明。
这是怎么发生的?我该如何解决?
版本
当前安装的 Internet Explorer 9 版本是:9.0.8112.16421:
进一步的调查
因此,正如我一直以来喜欢做的那样,我在运行时再次运行了更新进程监控并挖掘出更多细节。
WindowsUpdate.log
首先,有一个C:\Windows\WindowsUpdate.log
我不知道的 Windows 更新日志文件。但我没有在其中看到任何重要的条目,也许你更幸运:
2012-04-10 22:46:58:017 956 728 AU AU 已获得 Ux 的 1 次更新批准 2012-04-10 22:46:58:017 956 728 AU AU 将待处理客户端指令设置为“Progress Ux” 2012-04-10 22:46:58:095 956 728 AU BeginInteractiveInstall 已调用以进行下载 2012-04-10 22:46:58:095 956 728 AU 自动批准下载更新,updateId = {B33ACEC1-3265-4D01-9C37-AC0892E95ED9}.100,ForUx=1,IsOwnerUx=1,HasDeadline=0,IsMinor=0 2012-04-10 22:46:58:095 956 728 AU 自动批准 1 个更新供下载(适用于 Ux) 2012-04-10 22:46:58:110 956 728 AU UpdateDownloadProperties:0 个下载仍在进行中。 2012-04-10 22:46:58:110 956 728 AU ############# 2012-04-10 22:46:58:110 956 728 AU ## 开始 ## AU:下载更新 2012-04-10 22:46:58:110 956 728 澳大利亚 ######### 2012-04-10 22:46:58:110 956 728 AU # 批准更新 = 1 2012-04-10 22:46:58:110 956 728 AU AU 已启动下载,updateId = {B33ACEC1-3265-4D01-9C37-AC0892E95ED9}.100,callId = {35DF928B-B428-4BAC-8C63-55295967EFBB} 2012-04-10 22:46:58:110 956 728 AU 将 AU 预定安装时间设置为 2012-04-11 01:00:00 2012-04-10 22:46:58:110 956 728 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:46:58:110 956 728 AU 当前显示 Progress UX 客户端 - 因此不启动任何其他客户端 2012-04-10 22:46:58:110 956 bb8 DnldMgr ************* 2012-04-10 22:46:58:110 956 bb8 DnldMgr ** 开始 ** DnldMgr:正在下载更新 [CallerId = AutomaticUpdatesWuApp] 2012-04-10 22:46:58:110 956 bb8 DnldMgr ********* 2012-04-10 22:46:58:110 956 bb8 DnldMgr * 呼叫 ID = {35DF928B-B428-4BAC-8C63-55295967EFBB} 2012-04-10 22:46:58:110 956 bb8 DnldMgr * 优先级 = 3、交互 = 1、所有者为系统 = 0、显式代理 = 0、代理会话 ID = 1、ServiceId = {9482F4B4-E343-43B6-B170-9A65BC822C77} 2012-04-10 22:46:58:110 956 bb8 DnldMgr * 要下载的更新 = 1 2012-04-10 22:46:58:110 956 bb8 代理 * 标题 = 适用于 Windows 7(基于 x64 的系统)的 Windows Internet Explorer 9 2012-04-10 22:46:58:110 956 bb8 代理 * UpdateId = {B33ACEC1-3265-4D01-9C37-AC0892E95ED9}.100 2012-04-10 22:46:58:110 956 bb8 代理 * 捆绑包 1 更新: 2012-04-10 22:46:58:110 956 bb8 代理 * {6D9A90B7-FAF9-4A47-9EFE-A506264873B3}.100 2012-04-10 22:46:58:110 956 bb8 DnldMgr *********** DnldMgr:新的下载作业 [UpdateId = {6D9A90B7-FAF9-4A47-9EFE-A506264873B3}.100] *********** 2012-04-10 22:46:58:110 956 728 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:46:58:110 956 728 AU # 待处理下载调用 = 1 2012-04-10 22:46:58:110 956 728 AU >## RESUMED ## AU:下载更新 [UpdateId = {B33ACEC1-3265-4D01-9C37-AC0892E95ED9},成功] 2012-04-10 22:46:58:313 956 bb8 代理 ** 结束 ** 代理:正在下载更新 [CallerId = AutomaticUpdatesWuApp] 2012-04-10 22:46:58:313 956 bb8 代理 ************* 2012-04-10 22:46:58:313 956 718 澳大利亚 ######### 2012-04-10 22:46:58:313 956 718 AU ## END ## AU:下载更新 2012-04-10 22:46:58:313 956 718 AU ############# 2012-04-10 22:46:58:313 956 718 AU 将 AU 预定安装时间设置为 2012-04-11 01:00:00 2012-04-10 22:46:58:313 956 718 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:46:58:313 956 718 AU 当前显示 Progress UX 客户端 - 因此不启动任何其他客户端 2012-04-10 22:46:58:313 956 718 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:46:58:313 956 aac AU 获取精选更新通知。fIncludeDismissed = true 2012-04-10 22:46:58:313 956 aac AU 没有可用的特色更新。 2012-04-10 22:47:00:107 956 aac AU BeginInteractiveInstall 已调用以进行安装 2012-04-10 22:47:00:107 956 aac AU 自动批准安装更新,updateId = {B33ACEC1-3265-4D01-9C37-AC0892E95ED9}.100,ForUx=1,IsOwnerUx=1,HasDeadline=0,IsMinor=0 2012-04-10 22:47:00:107 956 aac AU 自动批准 1 个更新安装(适用于 Ux),installType=1 2012-04-10 22:47:00:107 956 aac AU ############# 2012-04-10 22:47:00:107 956 aac AU ## 开始 ## AU:安装更新 2012-04-10 22:47:00:107 956 aac AU ######### 2012-04-10 22:47:00:107 956 aac AU # 启动手动安装 2012-04-10 22:47:00:107 956 aac AU # 已批准更新 = 1 2012-04-10 22:47:00:107 956 aac AU >## 恢复 ## AU:安装更新 [UpdateId = {B33ACEC1-3265-4D01-9C37-AC0892E95ED9}] 2012-04-10 22:47:13:773 2232 9fc 处理程序:警告:退出代码 = 0x8024200B 2012-04-10 22:47:13:773 956 718 AU # 警告:安装失败,错误 = 0x80070643 / 0x00009C48 2012-04-10 22:47:13:773 2232 9fc 处理程序 ::::::::: 2012-04-10 22:47:13:773 2232 9fc 处理程序 :: END :: 处理程序:命令行安装 2012-04-10 22:47:13:773 2232 9fc 处理程序 ::::::::::::: 2012-04-10 22:47:13:851 956 a7c 代理 ********* 2012-04-10 22:47:13:851 956 a7c 代理 ** 结束 ** 代理:安装更新 [CallerId = AutomaticUpdates] 2012-04-10 22:47:13:851 956 718 AU 安装呼叫完成。 2012-04-10 22:47:13:851 956 a7c 代理 ************* 2012-04-10 22:47:13:851 956 718 AU # 警告:安装调用已完成,需要重新启动 = 否,错误 = 0x00000000 2012-04-10 22:47:13:851 956 718 澳大利亚 ######### 2012-04-10 22:47:13:851 956 718 AU ## END ## AU:安装更新 [CallId = {FCFF2A5C-25AB-4FB9-AB2B-35C65CCA6A9F}] 2012-04-10 22:47:13:851 956 718 AU ############# 2012-04-10 22:47:13:851 956 718 AU 所有通话安装完成,无需重启 2012-04-10 22:47:13:851 956 718 AU 将 AU 预定安装时间设置为 2012-04-11 01:00:00 2012-04-10 22:47:13:851 956 718 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:47:13:851 956 498 AU 获取精选更新通知。fIncludeDismissed = true 2012-04-10 22:47:13:851 956 498 AU 没有可用的特色更新。 2012-04-10 22:47:14:366 956 168 AU 没有要显示的精选更新通知 2012-04-10 22:47:14:366 956 168 AU UpdateDownloadProperties:0 个下载仍在进行中。 2012-04-10 22:47:14:366 956 168 AU 触发离线检测(非交互式) 2012-04-10 22:47:14:366 956 168 AU AU 将待处理客户端指令设置为“安装完整 Ux” 2012-04-10 22:47:14:366 956 168 AU 将现有 AU 客户端指令从“Progress Ux”更改为“Install Complete Ux”,会话 ID = 0x1 2012-04-10 22:47:14:366 956 168 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:47:14:366 956 b78 AU ############# 2012-04-10 22:47:14:366 956 b78 AU ## 开始 ## AU:搜索更新 2012-04-10 22:47:14:366 956 b78 AU ######### 2012-04-10 22:47:14:366 956 b78 AU >## RESUMED ## AU:搜索更新 [CallId = {0198DD3A-D7B0-48F5-A77D-795F8A1BDCE8}] 2012-04-10 22:47:16:097 956 718 AU # 1 检测到更新 2012-04-10 22:47:16:097 956 718 澳大利亚 ######### 2012-04-10 22:47:16:097 956 718 AU ## END ## AU:搜索更新 [CallId = {0198DD3A-D7B0-48F5-A77D-795F8A1BDCE8}] 2012-04-10 22:47:16:097 956 718 AU ############# 2012-04-10 22:47:16:097 956 718 AU 没有要显示的精选更新通知 2012-04-10 22:47:16:097 956 718 AU 将 AU 预定安装时间设置为 2012-04-11 01:00:00 2012-04-10 22:47:16:097 956 718 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:47:16:097 956 718 AU 成功写入 AU 健康状态事件:0 2012-04-10 22:47:16:113 956 55c AU 获取精选更新通知。fIncludeDismissed = true 2012-04-10 22:47:16:113 956 55c AU 没有可用的特色更新。 2012-04-10 22:47:18:780 956 bb8 报告报告事件:{27479C66-E930-4F9C-AFF2-27EDD76DED8F} 2012-04-10 22:47:13:773+0200 1 182 101 {B33ACEC1-3265-4D01-9C37-AC0892E95ED9} 100 80070643 AutomaticUpdates 失败内容安装安装失败:Windows 无法安装以下更新,错误为 0x80070643:适用于基于 x64 的系统的 Windows 7 的 Windows Internet Explorer 9。 2012-04-10 22:47:18:780 956 bb8 报告 CWERReporter::HandleEvents - WER 报告上传已完成,状态为 0x8 2012-04-10 22:47:18:780 956 bb8 报告 WER 报告已发送:7.5.7601.17514 0x80070643 B33ACEC1-3265-4D01-9C37-AC0892E95ED9 安装 101 未管理 2012-04-10 22:47:18:780 956 bb8 报告 CWERReporter 完成事件处理。(00000000)
WU-IE9-Windows7-x64.exe
执行的实际更新将下载并存储在以下位置:
C:\Windows\SoftwareDistribution\Download\Install\WU-IE9-Windows7-x64.exe
手动执行该文件会导致以下错误消息:
IE9_main.log
IE9 安装程序/更新程序还会创建自己的日志文件,位于
C:\Windows\IE9_main.log
对于有问题的更新会话,安装程序记录:
00:00.000:===================================================================== 00:00.016:开始时间:2012/04/10(年/月/日)23:10:53.897(本地) 00:00.032:此日志中的时间格式:MM:ss.mmm(分钟:秒.毫秒) 00:00.063:命令行:“C:\Windows\SoftwareDistribution\Download\Install\WU-IE9-Windows7-x64.exe” 00:00.078:信息:Internet Explorer 安装程序:9.0.8112.16421 00:00.094:信息:Internet Explorer 的先前版本:9.0.8112.16443 00:00.110:信息:检查 iexplore.exe 的当前版本是否在 9.0.6001.0 之间... 00:00.125:信息:...和 9.1.0.0... 00:00.141:信息:运行 IEAK 品牌的最高版本是:9.1.0.0... 00:00.156:错误:系统上已安装较新版本的 Internet Explorer。 00:00.188:错误:Internet Explorer 版本检查失败。 01:03.789:信息:安装程序退出代码:0x00009C48(40008) - 已安装较新版本的 Internet Explorer。 01:03.820:信息:安排上传到 IE SQM 服务器:http://sqm.microsoft.com/sqm/ie/sqmserver.dll 01:03.852:信息:SQM 上传返回 403 01:03.867:信息:清理临时文件:C:\Windows\TEMP\IE978E.tmp 01:03.883:信息:无法删除目录 C:\Windows\TEMP\IE978E.tmp,标记为重启时删除。 01:03.898:信息:已发布 Internet Explorer 安装程序互斥锁
这几乎证实了手动执行更新时错误消息所说的内容;它只是已经安装,甚至已经过时,因为安装了较新的版本。
那么,为什么它会尝试继续安装更新?
关于对话框
我安装的 Internet Explorer 版本中显示的版本号有问题:
关于对话框将标识我的 Internet Explorer 版本为9.0.8112.16421而二进制文件中嵌入的版本信息表示9.0.8112.16443。
更新程序也检测到了这个问题,导致其中止(换句话说)。
如何我不知道为什么会发生这种情况。但是一旦你处于这种情况,这似乎很难摆脱。
可能的解决方案?
- 卸载Windows Internet Explorer 9并且在应用所有待处理的更新后,手动安装缓存
C:\Windows\SoftwareDistribution\Download\Install\WU-IE9-Windows7-x64.exe
将导致相同的错误。 - 应用 FixIt 解决问题当您尝试通过 Windows 更新或 Microsoft 更新安装 .NET Framework 更新时收到“0x80070643”或“0x643”错误代码无法解决问题。
- 应用建议的解决方案尝试使用 Windows Update 或 Microsoft Update 网站安装更新时出现错误消息:“0x80070003”无法解决问题。
- 运行 FixIt使用 Windows 更新自动诊断并修复常见问题确实报告已解决 Windows 更新问题,但并未解决问题。
- 运行 FixIt 来解决问题当 Windows 更新或 Microsoft 更新反复向您提供更新时,如何进行故障排除无法解决问题。无论是正常设置还是激进设置都无法解决问题。
答案1
确保下载的文件正确,请尝试通过备份和删除重新下载
C:\Windows\SoftwareDistribution\Download
请注意,您可能需要停止并启动 Windows Search 才能使其正常工作。
您的
WindowsUpdate.log
内容包括:Windows failed to install the following update with error 0x80070643: ...
在网上搜索此错误时,我找到了以下建议,您可以尝试:
http://support.microsoft.com/kb/976982(MSI FixIt 和 .NET 重新安装)
您收到的其他代码无关紧要,因为它们指出 Windows 更新失败,而不是底层故障是什么。请注意,0x80070643
这里的关键是“如何”,它很可能是相关MSI
的,因为它还向我们抛出了一个 CLSID 并提到了本机更新。有东西损坏了……
答案2
所以,现在问题似乎已经解决了。我今天按照相同的安装程序安装了几台机器,现在它们都成功了。
尽管如此,今天早上我与一位微软支持工程师进行了交谈,他告诉我这基本上是一个同步问题,我应该隐藏更新并忘记它。
据我所知,解决这个问题,使更新甚至不作为候选提供,是非常耗时的,而且只会导致更新无法安装,而只需不安装它就可以达到同样的效果(真是令人惊讶)。
他还指出,在这种情况下,代码 9C48 基本上意味着更新已安装/不需要,这与我们的观察相符。
另一个有趣的想法来自我们的一位商业伙伴。
他提出,这个问题之所以发生,是因为在 Windows 首次安装后,当我被要求安装更新时,我选择安装所有可用的更新。即使是那些默认情况下未选中的更新:
他认为这会导致出现问题的状态,从而导致出现上述错误。据称仅安装强制更新和预选更新可以避免这个问题。
遗憾的是,由于问题现在无法重现,我无法确认这一点,但这听起来似乎是合理的。
答案3
好的,我想我可能找到了一个解决方案,并且在我有机会测试它之前我将它发布在这里。
- 跑步KB971058修复它。(不是弹出的那个,而是实际页面中的那个)
- 将 Internet Explorer 9 设为默认浏览器(非常重要)。
- 重新开始。
- 卸载 Internet Explorer 9。
- 重新启动并让 Windows 完成卸载过程。
打开提升的命令提示符,键入以下命令并按 Enter。
网络用户管理员/active:yes
下载 IE9 完整独立版本(我下载的 Win7 x64 文件约为 35MBytes)。(链接至 64 位美国,链接至 32bit US,英国链接)
- 重新启动,以便我们可以在安全模式下安装。
- 进入安全模式(普通),使用我们之前启用的管理员账户进入。
- 从独立文件安装 IE9。
- 重新启动进入正常模式,并完成安装过程。
- 打开 Windows 更新,然后单击检查更新。
- 可能会出现新的 IE9 安全更新以供安装,但可选的 IE9 更新现在应该已经消失了。
- 正常安装安全更新。