前言
这个解决方法并不是我提出来的,是在网络上搜寻得到,转载于博客,方便下次遇到相同的问题时,找不到文章,可以在博客快速找到对应解决方案。从解决方法上看,这个错误是Windows更新服务没有完整启动导致的,当我按照微软社区的解决方法重启服务后,电脑直接显示我已经安装了之前安装失败的应用,看来像是已经安装完毕,但是由于更新服务没有完整启动,所以没有检测到安装成功这种左右脑互博的事情。按照我转载文章的惯例,这里我附上微软社区的回复链接:
正文
关闭服务
Win + S打开搜索,输入 CMD 找到 “命令提示符”,右键以管理员身份打开,依次执行以下命令:
net stop wuauservstop cryptSvcnet stop bitsnet stop msiserverren C:\Windows\SoftwareDistribution SoftwareDistribution.oldren C:\Windows\System32\catroot2 Catroot2.old重启服务
完成后,继续依次执行以下命令,重新配置 Windows 更新服务状态:
net start wuauservnet start cryptSvcnet start bitsnet start msiserver重启电脑并重新检查更新,查看安装效果。
意外应对
如果上述方法无法解决问题,使用 Microsoft Fix it 修复工具,这里为了方便,我将这个工具存在了服务器上方便各位随时取用:
解释
服务介绍
缓存目录
这里稍微引用一下人工智能输出的知识,这些知识比较零散,即使网络搜寻也不好找到十分可用的版本,我就偷下懒了:
1. SoftwareDistribution 目录
路径:C:\Windows\SoftwareDistribution
作用:
存储 Windows Update 下载的更新补丁文件(.cab, .msu 等)。
记录更新状态、日志、安装进度等信息。
为什么重命名?
当该文件夹损坏、部分文件下载不完整或冲突时,会导致更新失败。
重命名为 .old 相当于“备份并清除缓存”,下次启动更新服务时会自动重建该文件夹。
2. Catroot2 目录
路径:C:\Windows\System32\catroot2
作用:
存放代码签名证书吊销列表(CRL)和受信任的发布者证书。
是 Windows 文件签名验证机制的一部分,用于确认更新包来自微软且未被篡改。
为什么重命名?
如果签名数据库损坏,系统可能拒绝安装合法更新。
清除后,系统会在服务重启时从微软服务器重新下载最新的信任列表。
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 Catroot2.old记录解决0xc1900401错误(转载)
https://blog.xzyuse.space/archives/f5491486-5590-4d1e-9ffa-1a7ed096b7f7
评论