news 2026/7/10 12:15:41

Microsoft Store 安装 Codex 失败 0x80080005:BITS 126 / WOW64 修复记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Microsoft Store 安装 Codex 失败 0x80080005:BITS 126 / WOW64 修复记录

关键词:Codex、Microsoft Store、WinGet、0x80080005、BITS、wuauserv、WOW64、qmgr.dll、Windows Update

结论

这次问题不是 Codex 安装包本身损坏,也不是简单的 Microsoft Store 缓存问题。

根因是 Windows 更新相关服务的注册表项里多了异常的WOW64=0x14c值,导致这些服务被服务控制管理器以 32 位方式启动:

  • BITS
  • wuauserv
  • UsoSvc
  • WaaSMedicSvc

其中BITS被拉起时走到了:

C:\Windows\SysWOW64\svchost.exe

然后尝试加载:

C:\Windows\SysWOW64\qmgr.dll

但该文件不存在,于是服务启动失败,系统日志里表现为:

The specified module could not be found.

对应到安装 Codex 时,winget/ Microsoft Store 链路最终报:

无法安装或更新 Microsoft Store 程序包。错误代码: 0x80080005

删除这些服务注册表里的异常WOW64值,并恢复服务启动方式后,不重启系统也可以恢复安装。

现象

通过 Microsoft Store 源安装 Codex:

winget install--id 9PLM9XGG6VKS--source msstore--accept-package-agreements--accept-source-agreements

失败时出现过两类问题。

第一类是 Microsoft Store 账户状态问题:

验证/请求程序包获取失败: 未找到商店帐户

这个需要先确认 Microsoft Store 当前用户已登录,或者重新打开商店完成账户状态刷新。

第二类是更新服务链路问题:

无法安装或更新 Microsoft Store 程序包。错误代码: 0x80080005

这次真正卡住的是第二类。

排查过程

先确认 Codex 包能被 Microsoft Store 源找到:

winget search codex--source msstore--accept-source-agreements

可以看到官方包:

Codex 9PLM9XGG6VKS Publisher: OpenAI

升级 WinGet / App Installer 后,安装流程能够进入下载阶段,但仍然失败:

错误代码: 0x80080005

继续看系统日志和服务状态,发现BITSwuauserv不能正常启动:

Get-ServiceBITS,wuauserv,UsoSvc|SelectName,Status,StartType

系统日志中有类似错误:

Windows 更新服务因下列错误而停止: The specified module could not be found. Background Intelligent Transfer Service 服务因下列错误而停止: The specified module could not be found.

也就是 Windows Update 和 BITS 自己都坏了。Microsoft Store 安装应用依赖这条链路,所以 Store 包安装失败只是结果,不是根因。

进一步用 Process Monitor 抓服务启动过程,发现BITSsvchost.exe来自SysWOW64,并尝试加载SysWOW64\qmgr.dll

C:\Windows\SysWOW64\svchost.exe C:\Windows\SysWOW64\qmgr.dll NAME NOT FOUND

这就解释了为什么服务报 “module could not be found”。正常情况下,BITS 这类系统服务应该走 64 位系统路径,而不是被错误地导到SysWOW64

再检查服务注册表项,发现这些服务下面存在异常的WOW64值:

HKLM\SYSTEM\CurrentControlSet\Services\BITS HKLM\SYSTEM\CurrentControlSet\Services\wuauserv HKLM\SYSTEM\CurrentControlSet\Services\UsoSvc HKLM\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc

这个值导致服务启动架构异常,是本次问题的关键。

修复步骤

以下命令需要在“以管理员身份运行”的 PowerShell 中执行。

1. 先备份相关服务注册表

$stamp=Get-Date-Format'yyyyMMdd-HHmmss'reg export"HKLM\SYSTEM\CurrentControlSet\Services\BITS""$env:USERPROFILE\Desktop\BITS-$stamp.reg"/y reg export"HKLM\SYSTEM\CurrentControlSet\Services\wuauserv""$env:USERPROFILE\Desktop\wuauserv-$stamp.reg"/y reg export"HKLM\SYSTEM\CurrentControlSet\Services\UsoSvc""$env:USERPROFILE\Desktop\UsoSvc-$stamp.reg"/y

建议先备份,尤其是生产机、办公机或者被优化工具改过的系统。

2. 删除异常的 WOW64 值

foreach($sin'BITS','wuauserv','UsoSvc','WaaSMedicSvc'){reg delete"HKLM\SYSTEM\CurrentControlSet\Services\$s"/v WOW64/f}

如果某一项提示不存在,可以忽略;关键是把这些服务里错误的WOW64配置清掉。

3. 恢复服务启动方式

sc.exe config UsoSvcstart= demandsc.exe config wuauservstart= demandsc.exe config BITSstart= delayed-auto

注意sc.exe config的语法里,start=后面需要有空格。

4. 启动服务

Start-ServiceUsoSvc-ErrorAction SilentlyContinueStart-Servicewuauserv-ErrorAction SilentlyContinueStart-ServiceBITS-ErrorAction SilentlyContinue

检查状态:

Get-ServiceBITS,wuauserv,UsoSvc|SelectName,Status,StartType

修复成功后应类似:

Name Status StartType ---- ------ --------- BITS Running Automatic UsoSvc Running Manual wuauserv Running Manual

5. 重新安装 Codex

winget install--id 9PLM9XGG6VKS--source msstore--accept-package-agreements--accept-source-agreements

成功结果:

已成功安装

为什么常规修复不一定有效

这次排障过程中尝试过一些常规方案:

  • DISM /Online /Cleanup-Image /RestoreHealth
  • sfc /scannow
  • 重置 Microsoft Store
  • 重置SoftwareDistribution
  • 重置catroot2
  • 重新注册部分更新相关 DLL
  • 重新安装 / 升级 App Installer 和 WinGet

这些操作对普通商店缓存、系统文件损坏、WinGet 版本过旧有帮助,但如果服务注册表里存在错误的WOW64值,服务仍然会用错误架构启动,最后还是找不到模块。

所以本例的关键不是“再重置一次 Store”,而是让BITSwuauservUsoSvc回到正确的服务启动方式。

注意事项

  1. 不建议一上来就删注册表。先看服务日志和服务状态,确认BITS/wuauserv是否真的报 “The specified module could not be found”。
  2. 删除WOW64前先导出备份,至少备份BITSwuauservUsoSvc
  3. 如果系统曾经运行过精简、优化、禁用更新、隐私增强、服务管理类工具,要留意它们是否会再次写回异常配置。
  4. 如果winget版本很旧,也建议先升级 App Installer;但本例里升级 WinGet 不是最终根因,只是让后续错误暴露得更清楚。
  5. 如果提示“未找到商店帐户”,那是另一层问题,需要先登录或刷新 Microsoft Store 账户状态。

一句话总结

Codex 通过 Microsoft Store 安装失败,表面是winget0x80080005,实际是 Windows Update / BITS 服务被错误的WOW64注册表值带偏到 32 位SysWOW64路径,导致服务 DLL 找不到。备份注册表后删除异常WOW64值,恢复并启动相关服务,即可不重启完成修复。

补充:多台机器出现类似现象

如果多台机器都能复现BITS/wuauserv启动异常,并且都能查到相同的WOW64配置项,那就不太像单机偶发故障,更像是某种统一环境配置带来的结果。

可能的来源包括:

  • 系统镜像中已经带入了异常注册表项
  • 某些系统优化、精简、禁用更新脚本改过服务配置
  • 统一运维工具下发过相关注册表配置
  • 第三方安全或终端管控软件调整过 Windows Update / BITS 服务

可以先用下面命令做只读检查:

foreach($sin'BITS','wuauserv','UsoSvc','WaaSMedicSvc'){reg query"HKLM\SYSTEM\CurrentControlSet\Services\$s"/v WOW64}如果多台机器都能看到类似: WOW64 REG_DWORD 0x14c 那它可以作为一个排查方向:问题可能不是 Codex 或 Microsoft Store 单独异常,而是 Windows Update/BITS 相关服务配置被改动过。具体来源还需要结合装机方式、系统优化脚本、终端管理软件等再确认。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 12:15:05

Unity后处理特效库X-PostProcessing-Library:架构解析与性能优化实战

1. 项目概述:为什么我们需要一个独立的后处理库? 如果你在Unity里做过渲染,尤其是想给游戏画面加点“电影感”或者独特的艺术风格,那你肯定跟Unity官方的Post Processing Stack(后处理堆栈,简称PPS&#xf…

作者头像 李华
网站建设 2026/7/10 12:14:19

linux下增加虚拟内存

创建虚拟内存文件fallocate -l 2G /swapfile或者dd if/dev/zero of/swapfile bs1M count2048 statusprogress参数说明:if 指定输入源,of 指定输出文件路径,bs1M 表示块大小为 1MB,count2048 表示创建 2048 个块(即 2GB…

作者头像 李华
网站建设 2026/7/10 12:13:24

常驻智能体评估框架:从指标体系到实践落地全解析

1. 先搞清楚常驻智能体评估到底要解决什么问题 常驻智能体评估不是简单的功能测试,而是确保AI智能体在真实业务环境中能稳定、可靠、安全地执行复杂任务的关键环节。如果你正在开发或部署智能体系统,最需要关注的是:这个智能体能不能在动态多…

作者头像 李华
网站建设 2026/7/10 12:09:54

Kimi K2.6能力开源:面向DevOps的长程编码Agent工程实践

1. 项目概述:Kimi K2.6 开源?不,是“能力开源”——一场被误读的AI工程范式迁移“Kimi K2.6 开源”这个标题本身就是一个典型的传播性误读。它不是指 Kimi 官方将 K2.6 模型权重、训练代码、完整推理框架打包扔上 GitHub 供你 clone、finetun…

作者头像 李华