症状表现
打不开,或一启动就退
Codex 打开后没多久自己退出,或者窗口根本不出现。
更新之后就坏了
本来好好的,商店/MSIX 更新一装,就打不开了。
Repair 只能顶一会
修复/重装后能用一小会,然后又变回崩溃状态——典型的自损坏。
为什么会这样(和 Claude Desktop 同一个病根)
Codex 桌面版基于 Electron,以 MSIX(商店)包发布,里面打包了 vk_swiftshader.dll——Chromium 的软件渲染兜底。在强制开启 Code Integrity 的机器上,从 MSIX 容器里加载这个 DLL 会被拦(Code Integrity 事件 3033:该 DLL「did not meet the Microsoft signing level requirements」)。GPU 进程崩溃,Windows 把整个签名包标记为需要修复,下次启动就失败。这跟 Claude Desktop 记录在案的是完全同一类 bug。
谁会中招
跟 Claude Desktop 那个 bug 是同一批人:开启了 Code Integrity / 安全加固、装了虚拟显示驱动(向日葵 Sunlogin、ToDesk、Parsec、Sunshine)、或独显笔记本用了较旧的 GPU 驱动。只要满足其一,MSIX 版就会反复崩。
真正能根治的办法
让 Codex 从普通文件夹运行、而不是 MSIX 容器,「Microsoft 签名级别」的强制校验就管不到它的 DLL。如果 OpenAI 有提供非 MSIX(直接下载 / Squirrel 式)的版本,就装那个。否则思路跟 Claude Desktop 一样:把程序内容放到 %ProgramFiles%\WindowsApps 之外运行,并挡住会把你拉回坏 MSIX 版的自动更新。
通用步骤(Windows)
- 1. 有非 MSIX 版就优先用直接下载 / 安装器版装在 MSIX 容器之外,签名校验不会触发。
- 2. 或从普通文件夹运行把程序内容解压到普通目录(如 %LOCALAPPDATA%\...),从那里启动 exe。
- 3. 确认修好了从普通文件夹运行时,swiftshader DLL 加载不再被 3033 拦,程序包不再进入损坏状态。
- 4. 挡住自动更新回坏版本如果商店/MSIX 版一直自己重装,就先挡住那条更新通道,直到官方发出修好的版本。
更大的图景
这其实既不是 Codex 的问题、也不是 Claude 的问题——而是「把桌面 AI 应用做成 Electron、塞进 MSIX 沙箱、再内置一个软件渲染 DLL」必然的结果。只要厂商不改打包方式,开了 Code Integrity 的机器就会一直中招。如果你受够了桌面 AI 工具自己把自己搞崩,一个你自己在本地跑的 Agent(没有 MSIX 沙箱、不会莫名自损坏)能直接绕开这一整类问题。
常见问题
Codex 桌面版这个 bug 和 Claude Desktop 是一回事吗?
是。两个都是 Electron + MSIX(商店)版、都打包了 vk_swiftshader.dll。在强制 Code Integrity 的 Windows 机器上,这个 DLL 被拦(事件 3033)、GPU 进程崩溃、程序包自损坏。同一个病根,同一类解法。
为什么 Repair 只能把 Codex 修好几分钟?
因为 Repair 只是重置了程序包状态,并没有移除触发原因——被拦的 DLL 还在,下次会话又会自损坏。必须让程序从 MSIX 容器之外运行。
从商店重装能修好吗?
不能。重装同一个 MSIX 版会把同样的内置 DLL 和同样的损坏循环再带回来。你需要一个非 MSIX 版,或者从普通文件夹运行。
哪些机器会受影响?
跟 Claude Desktop 那个 bug 一样:开启了 Code Integrity / 安全加固、装了虚拟显示驱动(向日葵、ToDesk、Parsec、Sunshine)、或独显笔记本用了较旧 GPU 驱动。