Windows 软件更新失败,卡在下载、安装还是版本检查?
软件列表里提示有新版本,点了更新却一直卡住没动静。别着急反复狂点更新按钮,先看清楚它到底卡在哪个阶段:是正在下载、等管理员授权、后台安装器在等按键,还是装完了但版本号没对上。
分清是下载慢还是安装卡住了
Mole 在更新时会清楚标出当前进度。下载时能读到总大小就会显示百分比,读不到也会显示已下载体积,只要数字还在跳,就说明网络还在传输。下载阶段随时可以点取消;但一旦进入了安装阶段,就不能中途强行终止,避免把软件搞成半生不熟的损坏状态。
| 卡在什么地方 | 建议先看这里 |
|---|---|
| 下载一直没动静,或提示网络错误 | 检查当前网络或厂商服务器,记录具体报错 |
| 正在请求管理员权限 | 检查 Windows 是否正在等待管理员授权,留意任务栏和授权界面 |
| 显示安装中,但一直不结束 | 任务栏是否有隐藏的安装向导在等点击“下一步”或等关闭旧软件 |
| 安装结束了,列表还提示同一个版本 | 打开软件自己的“关于”页面,看实际版本是否已经更新 |
如果是下载服务器超时,安装包其实根本还没跑起来。先别急着把还能用的旧软件卸载掉,稍等一会儿换个时间重试往往就好了。
错误代码先看属于哪种安装器
安装失败不总是一个原因,Windows Installer 的几个代码就很容易被混为一谈。
| MSI 代码 | 含义 | 下一步 |
|---|---|---|
| 1603 | 安装失败的通用结果 | 看同一次安装的日志,代码本身没有指出具体原因 |
| 1618 | 另一项安装正在执行 | 先让那项安装结束,不要同时再启动一份 |
| 3010 | 安装成功,需要重启才能完成 | 保存工作后按提示重启,再核对版本 |
这张表来自微软的 Windows Installer 代码表,适用的是 MSI 结果,不能拿相同数字去解释所有厂商的 EXE 安装器。尤其 3010,它与“下载失败,需要重新安装”是完全不同的状态。
找日志,不需要再跑一次安装
可以先在 PowerShell 执行这行查询,它显示 WinGet 的版本、环境和日志目录,不会开始更新软件。
winget --info
按输出的位置找到出错时段的日志,对照软件名、包 ID 和时间,先分清错误来自下载请求、安装器退出还是版本检查。日志里可能包含本机用户名和文件路径,发送给支持前删去不想分享的部分,别把一整包日志发到公开评论里。
保留“点击更新的时间、当时的软件版本、完整代码、是否出现授权或重启提示”这几项,就能避免把昨天另一个软件的安装失败当成本次原因。WinGet 排查说明给出了日志查询方法,不需要为了取日志先强制重装。
部分软件更新有自己的特殊要求
像 Java 8 这类传统安装包,常常硬性要求先卸载旧版本;全机安装的软件又必须有管理员权限才能覆盖。不同安装程序有自己的退出代码,微软的 winget 排查说明列出了常见的报错原因。遇到具体故障,记下报错代码会比单纯说“更新失败”好查得多。
装完了为什么还显示老版本
有些软件在电脑里同时装了“仅当前用户”和“所有用户”两份;还有些软件内置的版本号和包管理器记录并不完全一致。先打开实际使用那份软件的“关于”页面,再核对文件位置和安装范围。像 Edge、Chrome 这类浏览器,在后台更新完毕后,通常要彻底关掉重新打开才会切到新版本。
软件更新的具体机制也可以看看软件更新指南。
遇到疑难问题如何反馈
记下 Windows 和 Mole 的版本、出问题的软件名称,以及卡在下载还是安装的哪一步,附上报错截图,通过 Windows 帮助里的渠道反馈即可。
另外,普通软件更新、Mole 自身的更新以及 Windows Update 是三套独立的机制,某款软件更新报错,不用怀疑是整台电脑的系统出了大毛病。