原创
于 2026-08-11 13:47:18 发布
公开
250 阅读
6 评论
5 收藏
本内容遵循 CC 4.0 BY-SA 版权协议

本文记录一次 Windows 10 环境下安装 ChatGPT / Codex Desktop APP 的完整排障过程。

实际遇到的问题并不是单一故障,而是一条连续的依赖链:

Microsoft Store 无法访问
    ↓
winget 不存在
    ↓
App Installer 无法安装
    ↓
Windows App Runtime 缺失
    ↓
Microsoft.VCLibs 版本过低
    ↓
winget 恢复
    ↓
ChatGPT 可以搜索但安装报 0x80070005
    ↓
Windows Update 服务被禁用
    ↓
wuauserv 权限被修改
    ↓
恢复服务权限
    ↓
ChatGPT / Codex 成功安装

如果你的环境也是公司电脑、精简 Windows、禁用了 Windows Update,或者安装过系统优化/安全管控软件,这篇文章尤其有参考价值。


一、问题背景

1. 系统环境

本次使用的系统:

  • Windows 10 22H2
  • OS Build:19045.3803
  • 系统架构:x64

通过以下命令确认:

[System.Environment]::Is64BitOperatingSystem

结果:

True

目标是在 Windows 上安装新版 ChatGPT Desktop APP,并使用其中的 Codex。

2. 最初遇到的问题

Microsoft Store 无法正常打开,出现:

0x80131500

尝试重新注册 Microsoft Store:

Get-AppxPackage -AllUsers Microsoft.WindowsStore | ForEach-Object {
    Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml"
}

又出现:

0x80073D02

错误提示资源正在被 Microsoft Store 占用。

因此决定绕过 Microsoft Store 图形界面,直接恢复:

  • App Installer
  • WinGet
  • Microsoft Store CLI 安装能力

二、首先确认 WinGet 是否存在

1. 检查 WinGet

执行:

winget --version

结果:

winget : 无法将“winget”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

说明当前系统中 WinGet 不可用。

WinGet 实际由 Windows 的 Microsoft Desktop App Installer 提供。

因此下一步需要先恢复 App Installer。


三、手动下载 Microsoft Desktop App Installer

1. 下载 App Installer

如果 Microsoft Store 已经无法使用,可以直接通过浏览器访问微软官方 WinGet 下载入口:

https://aka.ms/getwinget

下载之后得到:

Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

本次文件大小约为 216 MB,下载目录:

C:\Users\hhf_eng01\Downloads

可以通过以下命令确认文件:

Get-ChildItem "$env:USERPROFILE\Downloads"

2. 尝试安装 App Installer

执行:

Add-AppxPackage "$env:USERPROFILE\Downloads\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

结果失败:

HRESULT: 0x80073CF3

并提示缺少:

Microsoft.WindowsAppRuntime.1.8

最低要求:

8000.616.304.0

这说明 App Installer 本身没坏,而是运行时依赖不完整。


四、安装 Microsoft.WindowsAppRuntime 1.8

1. 下载 Windows App Runtime

进入微软 Windows App SDK Runtime 下载页面,选择:

Windows App SDK 1.8

本次安装最新稳定版本 1.8.10。系统为 x64,因此下载:

WindowsAppRuntimeInstall-x64.exe

文件约 106 MB。

2. 安装 Runtime

执行:

Start-Process "$env:USERPROFILE\Downloads\WindowsAppRuntimeInstall-x64.exe" -Wait

安装完成后检查:

Get-AppxPackage *WindowsAppRuntime.1.8* |
Select-Object Name,Version,Architecture

本次结果:

Name                            Version         Architecture
----                            -------         ------------
Microsoft.WindowsAppRuntime.1.8 8000.921.1539.0 X64
Microsoft.WindowsAppRuntime.1.8 8000.921.1539.0 X86

说明 Runtime 已安装成功。


五、解决 Microsoft.VCLibs 版本过低问题

1. 第一次 VCLibs 报错

再次执行:

Add-AppxPackage "$env:USERPROFILE\Downloads\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

继续报:

0x80073CF3

这次缺的是:

Microsoft.VCLibs.140.00

最低版本:

14.0.33519.0

而系统原本只有:

14.0.27323.0

2. 安装普通版 VCLibs

下载:

Microsoft.VCLibs.140.00_14.0.33519.0_x64__8wekyb3d8bbwe.Appx

执行:

Add-AppxPackage "$env:USERPROFILE\Downloads\Microsoft.VCLibs.140.00_14.0.33519.0_x64__8wekyb3d8bbwe.Appx"

检查:

Get-AppxPackage Microsoft.VCLibs.140.00* |
Select-Object Name,Version,Architecture

此时:

Microsoft.VCLibs.140.00    14.0.33519.0    X64

普通版本已经满足要求。

3. 第二次 VCLibs 报错

再次安装 App Installer:

Add-AppxPackage "$env:USERPROFILE\Downloads\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

又出现:

0x80073CF3

但这次缺的是另外一个包:

Microsoft.VCLibs.140.00.UWPDesktop

最低要求:

14.0.33728.0

当前版本只有:

14.0.33321.0

这里要特别注意:Microsoft.VCLibs.140.00Microsoft.VCLibs.140.00.UWPDesktop 是两个不同依赖,不能只装其中一个。

4. 安装 UWPDesktop VCLibs

下载:

Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64__8wekyb3d8bbwe.Appx

执行:

Add-AppxPackage "$env:USERPROFILE\Downloads\Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64__8wekyb3d8bbwe.Appx"

再次确认:

Get-AppxPackage Microsoft.VCLibs.140.00* |
Select-Object Name,Version,Architecture

最终:

Microsoft.VCLibs.140.00             14.0.33519.0    X64
Microsoft.VCLibs.140.00.UWPDesktop  14.0.33728.0    X64

至此依赖满足。


六、成功恢复 WinGet

1. 再次安装 App Installer

执行:

Add-AppxPackage "$env:USERPROFILE\Downloads\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

这次没有红色错误。

检查:

winget --version

结果:

v1.29.280

至此 WinGet 修复成功。


七、恢复 Microsoft Store 软件源

1. 查看源

执行:

winget source list

应该可以看到:

msstore
winget
winget-font

2. 重置软件源

为了排除旧缓存和 Store 源异常:

winget source reset --force

然后:

winget source update

更新完成。

3. 搜索 ChatGPT

执行:

winget search ChatGPT --source msstore

本次搜索得到:

ChatGPT         9PLM9XGG6VKS
ChatGPT (Beta)  9N8CJ4W95TBZ

正式版本使用 ID:9PLM9XGG6VKS


八、安装 ChatGPT 时出现 0x80070005

1. 安装命令

执行:

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

WinGet 已经能够正确识别:

  • ChatGPT
  • 发布者:OpenAI
  • Category:Developer tools

但是安装阶段出现:

错误代码:0x80070005

这个错误通常对应 Access Denied(拒绝访问)

这说明:

  • WinGet 本身已经正常
  • Microsoft Store 源也正常
  • ChatGPT 软件包也找到了

真正出问题的是 Windows 系统权限/服务层。


九、检查 Windows Update 相关服务

1. 检查服务

执行:

Get-Service AppXSvc,ClipSVC,InstallService,wuauserv,bits |
Select-Object Name,Status,StartType

得到:

Name            Status   StartType
----            ------   ---------
AppXSvc         Running  Manual
BITS            Stopped  Manual
ClipSVC         Running  Manual
InstallService  Running  Manual
wuauserv        Stopped  Disabled

最异常的是:

wuauserv
Stopped
Disabled

也就是 Windows Update 服务被禁用


十、管理员也无法恢复 wuauserv

1. PowerShell 修改失败

尝试:

Set-Service -Name wuauserv -StartupType Manual

结果:

拒绝访问

再执行:

Start-Service wuauserv

同样失败。

2. CMD 修改仍失败

使用管理员 CMD:

sc config wuauserv start= demand

结果:

[SC] ChangeServiceConfig 失败 5:

拒绝访问。

甚至尝试修改服务 ACL:

sc sdset wuauserv ...

依然:

拒绝访问

至此基本可以确定:不是简单的服务停止,而是 wuauserv 的权限被修改了


十一、检查 Windows Update 策略

1. 查看注册表服务状态

执行:

reg query "HKLM\SYSTEM\CurrentControlSet\Services\wuauserv" /v Start

结果:

Start    REG_DWORD    0x4

其中 4 = Disabled

2. 查看 Windows Update 策略

执行:

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /s

发现:

ExcludeWUDriversInQualityUpdate    REG_DWORD    0x1
DisableWindowsUpdateAccess         REG_DWORD    0x1
DisableOSUpgrade                   REG_DWORD    0x1

以及:

NoAutoUpdate    REG_DWORD    0x1

可以确认这台电脑此前明显被设置过:

  • 禁止 Windows Update
  • 禁止系统升级
  • 关闭自动更新

十二、判断是否为企业域策略

1. dsregcmd 检查

执行:

dsregcmd /status

结果:

AzureAdJoined    : NO
EnterpriseJoined : NO
DomainJoined     : NO
WorkplaceJoined  : NO

说明机器没有加入 Azure AD、企业域、Windows Domain 或 Workplace。

2. gpresult 检查

执行:

gpresult /r

结果没有实际应用的域组策略。

因此更加倾向于:本地安全软件、系统优化工具、禁 Windows Update 工具、旧脚本或终端管控软件曾经修改过 Windows Update 的配置和 ACL。


十三、恢复 wuauserv 注册表权限

这是整个排障过程中最关键的一步。
注意:不要对整个 C:\WindowsWindowsApps 或整个注册表执行 takeown。只修复 wuauserv 这一项,影响范围最小。

1. 打开注册表

Win + R,输入 regedit,进入:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv

右键 wuauserv → 权限 → 高级。

2. 发现异常权限

本次查看发现:

  • Administrators → 只有读取
  • SYSTEM → 只有读取
  • Everyone → 读取
  • Users → 读取

同时权限继承被关闭。

这正好解释了为什么管理员 PowerShell / CMD 都无法修改 wuauserv。

3. 临时取得所有权

点击“所有者 → 更改”,输入 Administrators,点击“检查名称”,解析成 BF-202608101835\Administrators,确认。

4. 恢复必要权限

Administrators 修改为“完全控制”,同时将 SYSTEM 修改为“完全控制”。

不建议直接勾选“替换所有子对象权限”,也不要随意覆盖整个 Services 权限。只修改当前 wuauserv 即可。


十四、成功恢复 Windows Update 服务

恢复权限之后,再次打开管理员 CMD:

sc config wuauserv start= demand

终于得到:

[SC] ChangeServiceConfig 成功

然后:

net start wuauserv

结果:

Windows Update 服务正在启动 .
Windows Update 服务已经启动成功。

再次执行:

net start wuauserv

提示:

请求的服务已经启动。

这属于正常情况。此时 wuauserv 已恢复。


十五、ChatGPT / Codex 最终安装成功

再次执行:

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

这次:

██████████████████████████████ 100%

已成功安装

整个问题终于解决。

最终安装链路:

  • Windows App Runtime ✅
  • Microsoft.VCLibs ✅
  • Microsoft.VCLibs.UWPDesktop ✅
  • Desktop App Installer ✅
  • WinGet ✅
  • msstore ✅
  • Windows Update ✅
  • ChatGPT / Codex ✅

十六、确认 ChatGPT / Codex 安装状态

1. 查询 AppX

PowerShell:

Get-AppxPackage *ChatGPT* |
Select-Object Name,Version,PackageFullName

也可以查询 Codex:

Get-AppxPackage *Codex* |
Select-Object Name,Version,PackageFullName

2. 查询开始菜单 AppID

执行:

Get-StartApps |
Where-Object {$_.Name -match "ChatGPT"} |
Format-List

本次得到:

Name  : ChatGPT
AppID : OpenAI.Codex_2p2nqsd0c76g0!App

这一点很有意思:开始菜单显示名称是 ChatGPT,实际 AUMID 是 OpenAI.Codex_2p2nqsd0c76g0!App


十七、在 F 盘创建 ChatGPT 快捷方式

如果不希望使用开始菜单,可以自己创建快捷方式。

1. 创建快捷方式

PowerShell:

$Shell = New-Object -ComObject WScript.Shell
$Shortcut = $Shell.CreateShortcut("F:\ChatGPT.lnk")
$Shortcut.TargetPath = "explorer.exe"
$Shortcut.Arguments = "shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App"
$Shortcut.Save()

测试:

Start-Process "F:\ChatGPT.lnk"

如果 ChatGPT 正常打开,就说明成功。


十八、隐藏 Windows 10 开始菜单应用列表

如果觉得开始菜单里的应用列表太杂,可以直接关闭。

1. 通过系统设置

进入:设置 → 个性化 → 开始,关闭“在‘开始’菜单中显示应用列表”。

2. 通过组策略完全隐藏

Win + R,输入 gpedit.msc,进入:

用户配置 → 管理模板 → “开始”菜单和任务栏 → 从“开始”菜单删除“所有程序”列表

启用对应策略即可。

注意:这个设置隐藏的是整个应用列表,不是单独隐藏 ChatGPT。


十九、修复完成后恢复 wuauserv 所有者

排障过程中为了修改权限,临时把 wuauserv 所有者修改成了 Administrators。完成修复之后,可以重新归还给 SYSTEM

1. 操作方法

Win + R,输入 regedit,进入:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv

右键 → 权限 → 高级 → 所有者 → 更改,输入 SYSTEM,检查名称后确认。

推荐至少保持:

  • SYSTEM:完全控制
  • Administrators:完全控制
  • Users:读取

这样既恢复系统所有权,也保留必要管理能力。


二十、安装完成后删除离线安装文件

安装成功后,最开始下载的安装文件已经没有必要保留。可以删除:

  • Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
  • Microsoft.VCLibs.140.00_14.0.33519.0_x64__8wekyb3d8bbwe.Appx
  • Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64__8wekyb3d8bbwe.Appx
  • Microsoft.VCLibs.x64.14.00.Desktop.appx
  • WindowsAppRuntimeInstall-x64.exe

PowerShell:

Remove-Item "$env:USERPROFILE\Downloads\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -Force -ErrorAction SilentlyContinue

Remove-Item "$env:USERPROFILE\Downloads\Microsoft.VCLibs*.Appx" -Force -ErrorAction SilentlyContinue

Remove-Item "$env:USERPROFILE\Downloads\WindowsAppRuntimeInstall-x64.exe" -Force -ErrorAction SilentlyContinue

清理回收站:

Clear-RecycleBin -Force

这些只是安装介质,删除它们不会卸载 WinGet、Runtime 或 ChatGPT。


二十一、几个关键错误码总结

1. 0x80131500

典型场景:Microsoft Store 页面无法加载。

重点排查:Store 网络、Store 注册、系统服务、代理、系统组件。

2. 0x80073D02

含义:资源正在被使用。例如重新注册 Microsoft Store 时,Microsoft.WindowsStore 正在运行,需要先关闭 Store。

3. 0x80073CF3

这次遇到的核心原因:AppX / MSIX 依赖不满足。

先看报错正文,比如:

  • Microsoft.WindowsAppRuntime.1.8
  • Microsoft.VCLibs.140.00
  • Microsoft.VCLibs.140.00.UWPDesktop

不要看到 0x80073CF3 就直接重装系统,后面的依赖名称才是最重要的信息。

4. 0x80070005

含义:Access Denied(拒绝访问)。

本次真正原因不是 ChatGPT,而是:

  • wuauserv 被 Disabled
  • wuauserv ACL 被修改
  • 管理员只有读取权限

恢复 wuauserv 权限之后,ChatGPT 立即安装成功。


二十二、几个容易踩的坑

  1. 不要把 PowerShell 报错文本当命令
    例如 + CategoryInfo+ FullyQualifiedErrorId 都是 PowerShell 输出,不是命令。PS C:\windows\system32> 也是提示符,不能复制进去执行。

  2. 不要复制 Markdown 格式 URL
    错误:-Uri "[https://aka.ms/getwinget](https://aka.ms/getwinget)"
    正确:-Uri "https://aka.ms/getwinget"

  3. 注意 PowerShell 环境变量格式
    正确:$env:USERPROFILE
    错误:$env\:USERPROFILE(反斜杠可能只是转义显示,复制命令时要特别注意)

  4. VCLibs 和 UWPDesktop 不是一个东西
    必须区分 Microsoft.VCLibs.140.00Microsoft.VCLibs.140.00.UWPDesktop。本次 App Installer 同时要求两者。

  5. 不要一上来修改整个 WindowsApps 权限
    遇到 0x80070005 不要马上 takeown C:\Program Files\WindowsApps,也不要对整个注册表 SYSTEM\Services 批量改权限。应该先定位到底是哪一个组件拒绝访问。本次实际上只需要修 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv


二十三、最终完整排障思路

以后遇到类似问题,可以按照下面的顺序处理。

1. 第一阶段:判断 WinGet

winget --version

如果不存在,修复 App Installer。

2. 第二阶段:修复 App Installer 依赖

依次检查:

  • Windows App Runtime
  • Microsoft.VCLibs.140.00
  • Microsoft.VCLibs.140.00.UWPDesktop

3. 第三阶段:恢复 msstore

winget source reset --force
winget source update

然后:

winget search ChatGPT --source msstore

4. 第四阶段:安装 ChatGPT

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

5. 第五阶段:如果出现 0x80070005

检查:

Get-Service AppXSvc,ClipSVC,InstallService,wuauserv,bits |
Select Name,Status,StartType

特别注意 wuauserv。如果 Stopped / Disabled,继续检查:

sc config wuauserv start= demand

如果管理员仍然“拒绝访问”,就应该检查:

  • wuauserv 注册表 ACL
  • 本地策略
  • 安全软件
  • 禁更新工具

而不是继续重复安装 ChatGPT。


二十四、结语

这次问题看起来只是“Codex / ChatGPT Windows APP 安装不了”,但真正一路追下来,根因其实是:

  • Windows Update 被人为禁用
  • wuauserv 服务权限被修改

导致的连锁反应:

Store 异常
→ WinGet 缺失
→ App Installer 缺失
→ 依赖补齐
→ WinGet 恢复
→ Store 包能够搜索
→ 安装阶段 Access Denied
→ 定位 wuauserv
→ 恢复 ACL
→ 服务启动
→ ChatGPT / Codex 安装成功

这次排障最重要的经验不是某一条命令,而是:

Windows MSIX / Store 应用安装失败时,一定要根据错误码继续看“下一层依赖或权限”,不要反复执行同一条安装命令。

  • 0x80073CF3 重点看缺哪个 Framework;
  • 0x80070005 重点查到底是谁拒绝访问;
  • 服务被 Disabled 并且管理员都不能恢复时,则必须继续检查服务 ACL、注册表权限以及第三方系统管控工具。

最终结果:

  • Microsoft Store CLI ✅
  • Windows App Runtime ✅
  • VCLibs ✅
  • App Installer ✅
  • WinGet ✅
  • Windows Update ✅
  • ChatGPT ✅
  • Codex ✅

更多推荐