Microsoft Store 打不开?提取并离线安装最新版 ChatGPT Windows MSIX(含版本检测与签名校验)

适用场景:Microsoft Store 无法启动、公司网络禁用了商店界面,或者希望提前保存一份可重复安装的完整 MSIX 包。

OpenAI 新版 Windows 桌面端已经把 Chat、Work 和 Codex 放进同一个应用。问题是,官网 Windows 下载按钮通常会跳到 Microsoft Store,或者只下载一个很小的 Store Installer 引导程序;它不是完整离线安装包,断网后不能独立安装。

本文介绍一种可复用的方法:

  1. 从 OpenAI 官方 CDN 查询正式版号;

  2. 对比本机已安装版本;

  3. 用公开的 Microsoft Store 产品 ID 解析 Retail 分发链接;

  4. 只从微软 CDN 下载完整 .msix;

  5. 校验包身份、版本、架构、发布者、数字签名和 SHA-256;

  6. 生成可以双击运行的离线安装脚本。

这不是破解、重打包或修改客户端。最终安装的仍是微软分发、OpenAI 签名的原始 MSIX。


一、先说明来源和安全边界

这套方法涉及三类地址:

环节来源用途
应用与版本信息OpenAI 官方域名 oaistatic.com获取正式版号、产品 ID 和包身份
下载链接解析store.rg-adguard.net用公开产品 ID 解析 Microsoft Store Retail 链接
安装包下载微软 *.dl.delivery.mp.microsoft.com下载原始 MSIX 文件

需要特别说明:store.rg-adguard.net 是第三方解析服务,不是 OpenAI 或微软官网。脚本只向它提交公开的产品 ID,不提交微软账号、Cookie、设备标识或凭证。它返回的链接仍然不能直接信任,后面必须继续检查微软 CDN 域名、MSIX 身份和 OpenAI 数字签名。

如果你不接受第三方解析环节,可以等待 Microsoft Store 恢复,或尝试微软官方 winget download。不要从网盘、论坛附件或不明镜像下载别人重新打包的 ChatGPT。


二、不要选错产品

新版桌面端的关键信息如下:

 Microsoft Store Product ID : 9PLM9XGG6VKS
 MSIX Package Identity      : OpenAI.Codex
 Package Family Name        : OpenAI.Codex_2p2nqsd0c76g0

虽然包身份仍叫 OpenAI.Codex,安装后显示的是新版 ChatGPT,里面包含 Chat、Work 和 Codex。这与旧版 ChatGPT Classic 不是同一个包。

Classic 的 Store Product ID 是 9NT1R1C2HH7J。如果你的目标是新版统一桌面端,不要选到这个 ID。


三、手动检查本机版本和官方最新版

建议打开系统自带的 Windows PowerShell 5.1,不要用 PowerShell 7 的 pwsh。部分 Windows 环境在 pwsh 中加载 Appx 模块会报错。

1. 查看本机已安装版本

 Get-AppxPackage -Name OpenAI.Codex |
     Sort-Object { [version]$_.Version } -Descending |
     Select-Object -First 1 Name, Version, Architecture, PackageFamilyName

没有输出,说明当前 Windows 用户没有安装这个包。Get-AppxPackage 默认检查当前用户,不需要管理员权限。

2. 查询 OpenAI 正式版清单

 $manifestUrl = 'https://persistent.oaistatic.com/codex-app-prod/windows-store-update.json'
 $latest = Invoke-RestMethod -Uri $manifestUrl
 $latest | Format-List

正常情况下会看到类似内容:

 {
   "schemaVersion": 1,
   "buildVersion": "四段版本号",
   "storeProductId": "9PLM9XGG6VKS",
   "packageIdentity": "OpenAI.Codex"
 }

不要把某次查询到的版本号永久写死。脚本每次运行都应重新读取 buildVersion,并确认产品 ID 与包身份没有异常变化。

3. 用数值版本比较,不要直接比较字符串

 $installed = Get-AppxPackage -Name OpenAI.Codex |
     Sort-Object { [version]$_.Version } -Descending |
     Select-Object -First 1
 ​
 $official = Invoke-RestMethod `
     'https://persistent.oaistatic.com/codex-app-prod/windows-store-update.json'
 ​
 if (-not $installed) {
     '本机未安装'
 } elseif ([version]$installed.Version -lt [version]$official.buildVersion) {
     "发现更新:$($installed.Version) -> $($official.buildVersion)"
 } else {
     "已经是最新版:$($installed.Version)"
 }

四、解析完整 MSIX 下载地址

打开:

 https://store.rg-adguard.net/

依次选择或填写:

 类型:ProductId
 内容:9PLM9XGG6VKS
 通道:Retail

提交后,在结果中寻找与官方版号、系统架构完全一致的文件:

 OpenAI.Codex_<官方版本>_x64__2p2nqsd0c76g0.msix

ARM64 设备应选择:

OpenAI.Codex_<官方版本>_arm64__2p2nqsd0c76g0.msix

不要只看“文件最大”就下载,也不要选 .blockmap、.xml 或其他架构的包。必须同时匹配:

  • 文件名以 OpenAI.Codex_ 开头;

  • 四段版本号与 OpenAI 清单完全相同;

  • 架构与系统一致;

  • 后缀为 .msix;

  • 包族标识为 2p2nqsd0c76g0。

点击后,真正的下载主机必须是:

*.dl.delivery.mp.microsoft.com

如果解析结果给出 http://,可以把协议改为 https://,但主机、路径和查询参数都不能变。若 HTTPS 不可用,就停止下载,不要退回明文 HTTP。

微软 CDN 的签名链接会过期。出现 403 时重新解析一次,不要长期保存或公开那条临时 URL。

为什么有时找不到官方清单里的最新版?

OpenAI 正式版清单和 Microsoft Store Retail CDN 不一定同时完成同步。可能出现“官方清单已经更新,但解析页仍只有旧版”的短暂窗口。

此时正确做法是等待并稍后重试。不要把旧 MSIX 改名成新版本,也不要为了追新切换到未知的 beta、nightly 或内部通道。


五、下载后必须完成的校验

下面假设安装包保存在当前目录,文件名为:

OpenAI.ChatGPT_<版本>_x64_Offline.msix

外部文件名可以为了方便而重命名,但包内部身份和签名不能变。

1. 检查数字签名

$msix = Resolve-Path '.\OpenAI.ChatGPT_<版本>_x64_Offline.msix'
$signature = Get-AuthenticodeSignature -LiteralPath $msix
$signature | Format-List Status, StatusMessage, SignerCertificate

至少应满足:

Status = Valid
SignerCertificate.Subject = CN=50BDFD77-8903-4850-9FFE-6E8522F64D5B

签名无效、发布者不一致或证书链异常时,不要安装。不要使用 -AllowUnsigned 绕过验证。

2. 计算 SHA-256

Get-FileHash -LiteralPath $msix -Algorithm SHA256

SHA-256 适合在复制到 U 盘、NAS 或另一台电脑后再次核对文件是否发生变化。它不是固定值:每个版本、每个架构的哈希都不同。

3. 检查 MSIX 内部身份

Add-Type -AssemblyName System.IO.Compression.FileSystem

$zip = [IO.Compression.ZipFile]::OpenRead($msix)
try {
    $entry = $zip.GetEntry('AppxManifest.xml')
    if (-not $entry) { throw '未找到 AppxManifest.xml' }

    $reader = New-Object IO.StreamReader($entry.Open())
    try { [xml]$appxManifest = $reader.ReadToEnd() }
    finally { $reader.Dispose() }
}
finally {
    $zip.Dispose()
}

$identity = $appxManifest.Package.Identity
$identity | Format-List Name, Version, ProcessorArchitecture, Publisher

应核对:

Name                  = OpenAI.Codex
Version               = OpenAI 官方清单中的 buildVersion
ProcessorArchitecture = x64 或 arm64
Publisher             = CN=50BDFD77-8903-4850-9FFE-6E8522F64D5B

严谨的自动化脚本还应检查 TargetDeviceFamily 的最低 Windows 版本以及 PackageDependency。缺少依赖时应停止,并从官方来源补齐依赖,而不是关闭检查。


六、安装或更新

确认 ChatGPT 中没有正在运行的重要任务,然后在 Windows PowerShell 5.1 中执行:

Add-AppxPackage `
    -Path '.\OpenAI.ChatGPT_<版本>_x64_Offline.msix' `
    -ForceApplicationShutdown

这会关闭正在运行的 ChatGPT,并为当前 Windows 用户安装或更新同一包族的应用。微软文档也说明:更新已安装包时,新包必须保持相同的 Package Family Name。

安装后复查:

Get-AppxPackage -Name OpenAI.Codex |
    Sort-Object { [version]$_.Version } -Descending |
    Select-Object -First 1 Name, Version, Architecture, Status

不建议使用 -ForceUpdateFromAnyVersion 强行降级。离线安装脚本最好先比较版本:本机版本大于或等于目标版本时直接退出。


七、用配套脚本一键检查、下载和生成安装器

我把上述流程整理成了一个可复用工具包,目录结构如下:

chatgpt-offline-update/
├─ SKILL.md
├─ scripts/
│  ├─ Get-ChatGPTOfflineUpdate.ps1
│  ├─ PackageChecks.ps1
│  └─ New-OfflineInstaller.ps1
└─ assets/
   ├─ install-body.ps1.template
   └─ Install-ChatGPT-Offline.cmd

这个工具包既可以作为 Codex Skill 使用,也可以在普通 Windows PowerShell 5.1 中独立运行。

1. 只检查是否有更新

powershell.exe -NoProfile -ExecutionPolicy Bypass `
  -File '.\chatgpt-offline-update\scripts\Get-ChatGPTOfflineUpdate.ps1' `
  -OutputDirectory '.\outputs\chatgpt-offline' `
  -WorkDirectory '.\work\chatgpt-offline' `
  -CheckOnly

返回结果包含:

InstalledVersion  本机已安装版本
OfficialVersion   OpenAI 正式版版本
Architecture      x64 或 arm64
UpdateNeeded      是否需要更新

2. 有更新时下载完整包

powershell.exe -NoProfile -ExecutionPolicy Bypass `
  -File '.\chatgpt-offline-update\scripts\Get-ChatGPTOfflineUpdate.ps1' `
  -OutputDirectory '.\outputs\chatgpt-offline' `
  -WorkDirectory '.\work\chatgpt-offline'

验证通过后会在“版本号-架构”独立目录中生成:

OpenAI.ChatGPT_<版本>_<架构>_Offline.msix
Install-ChatGPT-Offline.ps1
Install-ChatGPT-Offline.cmd
verification.json

把前三个安装文件放在同一目录,双击 Install-ChatGPT-Offline.cmd 即可。CMD 会调用配套 PowerShell,安装前重新检查 SHA-256、包身份和签名,并拒绝降级。

3. 已经是最新版,但仍想保存离线包

在命令末尾增加:

-DownloadEvenIfCurrent

自动化脚本的关键安全规则

  • 只认 OpenAI 官方清单中的 buildVersion;

  • 只认产品 ID 9PLM9XGG6VKS 和身份 OpenAI.Codex;

  • 只选 Retail 通道中版本、架构和文件名完全匹配的 MSIX;

  • 只允许微软 dl.delivery.mp.microsoft.com 的 HTTPS 下载;

  • 不跟随完整包下载重定向;

  • 校验 ZIP/MSIX 结构、AppxManifest、发布者和 Authenticode;

  • 检查最低 Windows 版本和依赖;

  • 保存 SHA-256 和验证记录;

  • 本机版本不低于目标版本时不安装。


八、常见错误

1. Get-AppxPackage 在 pwsh 中无法加载

错误可能类似:

The 'Get-AppxPackage' command was found in module 'Appx',
but the module could not be loaded.

改用系统 Windows PowerShell 5.1:

powershell.exe

2. 下载返回 403

微软 CDN 的临时签名 URL 已过期。返回解析页,用相同 Product ID 和 Retail 通道重新生成链接。

3. 找不到与官方版本完全一致的 MSIX

Retail CDN 尚未同步。等待后重试,不要下载旧版后改名。

4. 0x80073D02:资源正在使用

关闭 ChatGPT 后重试,或使用:

Add-AppxPackage -Path '.\xxx.msix' -ForceApplicationShutdown

5. 0x80073CF3:依赖或兼容性检查失败

检查 AppxManifest 中的最低 Windows 版本和依赖项。依赖必须从微软官方来源获取,并选择正确架构。不要在不理解风险的情况下删除依赖声明或修改 MSIX。

6. 签名不是 Valid

立即停止。重新解析和下载,不要安装来源不明的“免签版”“绿色版”或修改包。


九、几个容易误解的点

官网下载到的小 EXE 为什么不能离线安装?

get.microsoft.com 返回的通常是微软签名的 Store Installer 引导程序,它负责唤起商店或继续在线获取内容,本身不是数百 MB 的完整 ChatGPT MSIX。

判断方法很简单:完整包扩展名是 .msix,体积通常明显更大,并且能作为 ZIP 结构读取到 AppxManifest.xml。

安装最新版客户端就一定能看到最新模型吗?

不一定。模型是否出现在列表里,还取决于账号套餐、组织策略、地区、灰度发布和服务端权限。客户端更新只解决“本地应用版本”问题,不能绕过账号权限,也不应该修改客户端文件来强行开启模型。

可以把 MSIX 直接上传到网盘分享吗?

不建议。更稳妥的做法是分享本文的方法和脚本,让使用者从微软 CDN 获取自己的原始包。这样既能拿到当时最新版,也能自行验证来源和签名,并避免不必要的二次分发问题。


十、总结

Microsoft Store 打不开时,正确目标不是寻找“第三方离线版”,而是把商店原始分发链拆开:

OpenAI 官方清单确认版本
        ↓
公开 Product ID 解析 Retail 链接
        ↓
微软 CDN 下载原始 MSIX
        ↓
核对身份、版本、架构、发布者和签名
        ↓
Add-AppxPackage 安装并复查版本

只要坚持“版本精确匹配、只用微软 CDN、签名必须有效”这三条,就能在不依赖 Microsoft Store 界面的情况下,获得与商店安装方式相同的原始 MSIX 包。

十一,安装包

最新安装包下载链接:
链接:https://pan.quark.cn/s/00dd49ab9707?pwd=6WEK
提取码:6WEK

使用说明:双击里面那个cmd后缀格式的文件就等着安装完成就行了,安装完去左下角win窗口里找。另外可以使用codex ,把这个文章链接发给codex,让它按照这种方式去安装最新版。以后有其他版本更新了也可以这样用。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐