升级 PowerToys 后无法启动 Windows Terminal
现象
上周五(10月17日)进行了 Windows 系统更新和软件升级,升级的软件并不包含 Windows Terminal。本周一(10月20日)发现 Windows Terminal 无法启动——运行后在任务栏闪现窗口,但立即退出进程。尝试多个旧版本的 Windows Terminal,依然无法运行。
原因
起初怀疑是 Windows 更新导致的问题。另外发现 GitHub 上已经有人提交了 Issue,描述也是如此。这更加深了是 Windows 更新的嫌疑。不过项目维护者表示,引起崩溃的屎山代码已经有 3 年没人动过了,应该不至于有问题。
后来又有人发了另一个 Issue,把矛头指向了 PowerToys 0.95。在上周五的软件升级清单里,也的确包含了 PowerToys 的更新,真是柳暗花明又一村。经过进一步核实,发现是 PowerToys 将其安装路径 %LOCALAPPDATA%\PowerToys 添加到 PATH 环境变量中导致的。该路径下名为 Microsoft.UI.Xaml.dll 的动态库文件和 Windows Terminal 冲突。由于 PATH 环境变量遭到修改,导致 Windows Terminal 启动时优先加载了 PowerToys 的 Microsoft.UI.Xaml.dll 文件,从而引起崩溃。
解决
将 PATH 环境变量中的 PowerToys 安装路径移除即可。