记一次因修改了 WindowsApps 文件夹权限导致的 UWP 应用无法通过运行打开的修复过程
导火索
前言
这件事还得从 Windows Terminal 讲起,在 Windows Terminal 的 1.22
版本中,出现了 Terminal 动不动就未响应的问题,我去翻了一下 Github Issue,发现以前就有这个问题,然后修复了,只是现在又出现了
frequently experience unresposive situation: https://github.com/microsoft/terminal/issues/18803#issuecomment-2822694262
然后在这个 Issue 下面,repo 的成员说可以安装 Canary 版本的 Terminal,或许能解决这个问题,于是我装了个 Canary 的 Terminal
那么现在问题来了,我要怎么把 wt 改成使用 Windows Terminal Canary 打开呢……
我想的是 Windows 的命令是通过 PATH 实现的,所以我把 Windows Terminal 的 PATH 改到 Windows Terminal Canary 上,不就解决了吗?
如果问题真那么简单,也就不会出现这篇文章了
我先来说说我是怎么做的,然后再来讲正确的改绑方式
修改 WindowsApps 权限导致 UWP 应用无法启动
我首先打开了 C:\Program Files
,Windows 的 UWP 应用是安装在这个目录的 WindowsApps
文件夹的,因为之前用 Win10 的时候修改过这个目录,并且也没有造成什么问题,所以这次我也是轻车熟路更改了它的权限,然后找到了 Windows Terminal Canary 的安装目录,然后从 Powertoys 打开环境变量,准备进行修改,结果我发现
PATH 里面根本就没有 Windows Terminal 的路径配置
那没办法,我只好另寻他路,结果发现,我使用 wt
命令打开 UWP 应用已经没有响应了(表现为输入了且确定了,但是没有新的进程打开)
修复
我首先经过搜索得知,在 WindowsApps 文件夹上是有 TrustedInstaller 作为 Owner 的,因为更改了这个文件夹的权限,导致 UWP 应用的运行权限不正确而无法启动,所以我需要把权限还回去
还权限
当然了,因为 Windows 的权限管理是依托答辩,所以 Github 上早就有人弄好了方案
WindowsAppsUnfukker: https://github.com/AgentRev/WindowsAppsUnfukker
通过 WindowsAppsUnfukker
,我成功把权限给回了 TrustedInstaller,但是我还是打开不了,于是我又尝试修复 Windows
覆盖安装系统
Windows 11 是有一个重新安装按钮的,可以直接点它完成覆盖安装,这个过程不会清理任何的数据,就是时间嘛……长了不是一点半点
重置应用
重转完毕后,我还是没法打开,我灵机一动尝试了一下,既然 C:\Program Files\WindowsApps
的权限是被我改过的,那我要是放在 D:\Program Files\WindowsApps
呢?没想到还真让我碰上了,改了以后是可以正常打开的
于是我又想,重置一下应用呢?于是我重置了一下记事本应用,然后用 Ctrl + R 输入 notepad
,成功打开了
然后我把其他应用也尝试重置,结果都可以了
正确的改绑方式
在设置里面,搜索 应用执行别名
,把需要的那个打开就好了,剩下的同一个别名的会自动禁用
总结
首先没事别乱改 Windows 的权限,这真的真的真的很麻烦!!!
当然了,这次也让我找到了正确的改绑方式,而不是使用环境变量来进行操作
也希望这篇文章能帮助你解决你因为修改了 WindowsApps
文件夹造成的无法打开软件的问题,此外,覆盖安装那一步大概率是不用的(?