部署codex时,安装CC-switch时遇到无法打开桌面窗口的问题,只有在右下角工具栏中有个小图标,然后有个弹窗,说是缺少Microsoft Edge WebView2,所以就去下载这个。。
点击Microsoft Edge WebView2 | Microsoft Edge Developer连接后跳转

往下滑
选第二个(红色框)

下好后双击安装时出现下面这个问题,真是这个耽误了蛮长时间。

但其实磁盘空间非常充足,且权限也是够的。去问了大模型,尝试了很多方法(删文件夹,删注册表,命令行安装等等),前面一直报和图上相同的错误。。
因为尝试了很多方法,所以我也不确定是不是其中某一个起到了什么作用,所以就记录一下成功之前的操作:
C:\Users\Administrator>takeown /f "C:\Program Files (x86)\Microsoft\Temp" /r /d y
成功: 此文件(或文件夹): "C:\Program Files (x86)\Microsoft\Temp" 现在由用户 "PC-20240911KKRG\Administrator" 所有。
C:\Users\Administrator>rd /s /q "C:\Program Files (x86)\Microsoft\Temp"
C:\Users\Administrator>takeown /f "C:\Program Files (x86)\Microsoft\EdgeCore" /r /d y
成功: 此文件(或文件夹): "C:\Program Files (x86)\Microsoft\EdgeCore" 现在由用户 "PC-20240911KKRG\Administrator" 所有。
C:\Users\Administrator>rd /s /q "C:\Program Files (x86)\Microsoft\EdgeCore"
C:\Users\Administrator>winget install Microsoft.EdgeWebView2Runtime
已找到 Microsoft Edge WebView2 Runtime [Microsoft.EdgeWebView2Runtime] 版本 149.0.4022.80
此应用程序由其所有者授权给你。
Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。
已成功验证安装程序哈希
正在启动程序包安装...
安装程序失败,退出代码为: 2147748098
但是在文件层面清理干净后,
winget依然报出完全相同的2147748098(即十六进制的0x80040902)错误。结合当前的状况,可以得出一个非常明确的结论:障碍已经不在文件系统里,而在系统的"注册表组策略"或者"Edge更新服务"彻底崩溃了。很多系统(特别是经过精简优化的版本,或者装过拦截软件的系统)会在注册表里强行写入"禁止 Edge 组件更新"的组策略。WebView2 安装时一旦检测到这个拦截策略,就会直接触发
0x80040902错误并强行退出。既然现在已经处于管理员 CMD 环境中,直接用命令行进行"终极斩首":
第一步:强行清除注册表中的 Edge 拦截策略与残留
请在你的管理员 CMD 黑框中,依次复制粘贴并回车执行以下三条命令(如果有提示"找不到指定的注册表项",说明该项本就不存在,不用在意,继续执行下一条即可):
1. 删除组策略中的 Edge 更新拦截:
reg delete "HKLM\SOFTWARE\Policies\Microsoft\EdgeUpdate" /f2. 删除 Edge 更新的 64 位注册表残留:
reg delete "HKLM\SOFTWARE\Microsoft\EdgeUpdate" /f3. 删除 Edge 更新的 32 位兼容注册表残留:
reg delete "HKLM\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate" /f第二步:重启某些关键基础服务
有时候负责安装的系统底层服务挂起了,敲下面两行命令重启一下它们:
net stop msiServer net start msiServer第三步:放弃 winget,直接运行"离线安装包"
winget有时候会掩盖安装程序真实的报错细节。既然我们现在把文件和注册表都清空了,请直接使用之前下载好的那个约 150MB 的 Evergreen Standalone Installer(离线独立安装包)。
确保将那个离线安装包(比如命名为
webview.exe)放在C:\根目录或D:\根目录下。在 CMD 中直接输入它的路径并回车运行它,例如:
C:\webview.exe *(或者你直接在文件夹里右键点击它 -> **以管理员身份运行**)*经过这套"文件+注册表"的双重深度清理,绝大多数被锁死的 WebView2 都能成功装上。 如果这次弹出了安
终极绕过方案:局部环境变量注入
请再次打开以管理员身份运行的 CMD,然后严格按照顺序执行以下命令:
1. 在 C 盘根目录强行创建一个名为
TempX的新临时文件夹:
mkdir C:\TempX2. 将当前 CMD 窗口的临时环境变量,强行劫持并指向这个新文件夹(注意:这只对当前黑框有效,安全且不会影响系统原有设置):
set TEMP=C:\TempX set TMP=C:\TempX3. 将下载好的 150MB 离线独立安装包重命名为
webview.exe,并把它直接剪切到 C 盘的最外层目录下(即C:\webview.exe)。4. 在刚才那个注入了新变量的 CMD 窗口中,直接输入安装包的路径并回车,强行拉起安装:
C:\webview.exe⚠️ 如果这一步依然弹窗
通过上述命令,我们已经从物理路径上彻底更换了临时目录。如果在这个状态下,安装程序仍然 弹出"无法创建临时目录",这就绝对不再是 Windows 路径或残留文件的问题了,而是 100% 有底层的安全软件在拦截解压行为。
一直到这上面这都不太行。。
然后受上面局部环境变量的启发,就想尝试一下,在盘里创了一个Temp文件夹,然后把安装包放进去,右键以管理员身份运行,就安装好了~

名字是前面大模型某一步说的重新命名了一下,本来是这个,但是应该不影响。

overover~~