Windows Server 没有应用商店,Codex App 照样能装

Windows Server 没有应用商店,Codex App 照样能装

OpenAI 的 Codex App 官方只面向带 Microsoft Store 的 Windows 10 和 11。Windows Server 系列,比如 Server 2022,默认不装应用商店,也没有配套的运行环境,商店入口压根不存在。

这篇记录一次手工安装的全过程。思路很简单:商店不肯上门,那就自己去店里把货搬回来。

为什么常规路走不通

在普通 Windows 上,商店负责下载、签名校验和部署,用户全程无感。Server 2022 把这一整套都裁掉了,安装入口跟着消失。

直接拿到 .Msix 安装包也不行。系统默认没有把它关联到任何处理器,双击只会弹出「选择打开方式」。商店框架缺席,双击安装这条腿就断了。

但断的只是入口。Server 2022 的内核里,Appx 部署功能还在,PowerShell 的 Add-AppxPackage 命令开箱即用。这给了我们一条后门。

核心思路

Windows Server 没有应用商店,Codex App 照样能装

分两步:

  1. 用第三方解析工具代替商店,从微软的下载源里挖出原始的 .Msix 安装包。
  2. 用 PowerShell 内置的部署命令,把这个包装进系统。

不需要第三方运行库,不需要改系统策略,全程两步。

第一步:解析下载地址

打开 Online link generator for Microsoft Store,在搜索框里粘贴 Codex 的官方商店链接:

https://apps.microsoft.com/detail/9plm9xgg6vks?referrer=psi&hl=en-US

注意是 9plm9xgg6vks 这个 ID 对应的完整链接。提交后页面会列出这个应用相关的全部安装包。

在列表里找文件名长这样的条目:

OpenAI.Codex_26.422.3464.0_x64__2p2nqsd0c76g0.Msix

三个要点:

  • 架构:x64 对应绝大多数物理服务器和虚拟机,ARM 机器要选 arm64。
  • 版本号:26.422.3464.0 是写这篇文章时的版本,商店更新之后数字会变,以你解析到的实际列表为准。
  • 后缀:认准 .Msix,别拿成别的文件。

右键点文件名选「另存为」。如果浏览器点了没反应,就复制链接地址,开一个新窗口粘贴下载。

第二步:命令行部署

把下载好的安装包放到固定目录,比如 C:\codex\。然后以管理员身份打开 PowerShell,执行:

Add-AppxPackage -Path "C:\codex\OpenAI.Codex_26.422.3464.0_x64__2p2nqsd0c76g0.Msix"
命令跑完进度条,开始菜单里出现新图标

进度条走完,部署就结束了。没有任何额外确认弹窗。

第三步:启动

点开开始菜单,在「最近添加」或应用列表里能直接看到 Codex App,点图标正常运行。到这一步,安装就全部完成了。

几个容易踩的地方

  1. 版本号会过期。 商店每更新一次,文件名里的版本就换一串,不要照抄本文的完整文件名,解析结果里叫什么就用什么。
  2. 看清楚下载域名。 解析出的直链指向微软官方分发源,下载前扫一眼地址栏确认。
  3. 这是按用户安装。 Add-AppxPackage 只对当前用户生效,别的账户要用,要么各自执行一遍,要么改走 DISM 预置的路线。
  4. 报依赖错误先补依赖。 如果部署时报依赖包缺失,回解析列表里找到对应架构的依赖包,先装依赖再装主体。

小结

这套方法的本质是绕过商店框架,直接利用 Windows 内置的 Appx 部署能力:解析工具负责找到原始包,Add-AppxPackage 负责装进去。对需要在服务器环境里用 Codex 做开发辅助或测试的人来说,两步就能解决,不用为了一个商店去动系统。

  • All rights reserved.
  • No part of this website, including text and images, may be reproduced, modified, distributed, or transmitted in any form or by any means, without the prior written permission of the author.
  • Unauthorized commercial use is strictly prohibited.
  • Unauthorized personal use is strictly prohibited.