当我尝试通过wt
或wt.exe
别名启动 WindowsTerminal 时出现此错误(0xc0000022)。
我已经尝试了下一步:
- 重新安装 WindowsTerminal
- 在设置->应用程序->应用程序和功能->Windows终端->高级选项菜单中“修复”并“重置”它
- 弄乱“C:\Program Files\WindowsApps”文件夹中的权限
- 尝试重置整个 Windows,保留我的文件,然后删除所有内容
但我一直收到此错误。问题是 Windows Terminal 本身工作正常,我可以通过 win+x 快捷菜单启动它,如果我在“面向开发人员”设置中将 Windows Terminal 设置为默认终端应用程序 -cmd
则会在 Windows Terminal 中启动。
如果我wt.exe
在资源管理器中写入并按回车键 - 我可以在地址行中看到它试图直接从“C:\ Program FIles \ WindowsApps \ Microsoft.WindowsTerminal_1.11.3471.0_x64__8wekyb3d8bbwe \ wt.exe”启动终端,而不是从“C:\ Users \ <username> \ AppData \ Local \ WindowsApps \ wt.exe”启动终端。
使用 ProcessMonitor 我仔细观察并发现:
- win+r
wt
启动“<pathToPackageFolder>\wt.exe”,进程以命令行“<pathToPackageFolder>\wt.exe”启动,尝试读取时出现 ACCESS DENIED 错误虚拟运行库140和运行库它位于该包文件夹内。 explorer.exe shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App
(以及 win+r cmd 和 win+x 快捷方式)启动“<pathToPackageFolder>\WindowsTerminal.exe”,进程以命令行“<pathToPackageFolder>\WindowsTerminal.exe”启动并执行与前一种情况相同的查询,但没有错误。- 如果我
wt
从 cmd 调用(而不是从 explorer 或 win+r) - 它会启动“<pathToPackageFolder>\wt.exe”但没有错误,并且进程以命令行“wt”开始
这些情况也有稍微不同的环境变量,并且错误的情况在其 PATH 变量中有“ <pathToPackageFolder> ”,我认为这是导致错误的原因,但我不明白为什么这会在全新安装激活的 Windows 11 Pro 上发生。
PS:我是第一次提问,也第一次加入这个社区,而且英语不是我的母语,所以我非常感谢您的纠正和建议。
答案1
作为一种解决方法,我一直使用自定义 hadrlink 来...AppData\Local\WindowsApps\wt.exe
使用 powershell 创建硬链接,从提升的 powershell 中使用它:
New-Item -ItemType HardLink -Path "C:\Windows\mywt.exe" -Target "C:\Users\<username>\AppData\Local\WindowsApps\wt.exe"
之后我使用mywt
别名代替wt
,效果很好。
显然对我来说这个错误在 Windows Terminal v1.12.10393.0 版本中得到了修复,现在 win+rwt
启动“wt.exe”并且进程以命令行“wt.exe”启动,加载并正常工作。
因此,如果您遇到此问题 - 请尝试重新安装新版本。
您可以通过 Windows 应用商店重新安装它,也可以手动重新安装,要手动重新安装,您可以按照以下步骤操作:
.msixbundle
从这里下载文件https://github.com/microsoft/terminal/tags- 从您的电脑上卸载 Windows 终端(不要忘记备份您的 settings.json)
- 使用
Add-AppxPackage "full:/path/to/file.msixbundle"
安装新版本
编辑:
我的 Windows 终端又坏了,这次的原因是 WindowsApps 文件夹上的 ACL 不知何故损坏了(这使我能够访问文件夹及其子文件夹,并导致 wt 在通过 win+r、别名或 win+x 菜单启动时运行出错)
症状几乎相同,但这次我通过恢复 WindowsApps 文件夹的默认权限解决了这个问题
这是我使用的解决方案的链接 https://superuser.com/a/1730061/1659735
希望它能对你有所帮助。
答案2
错误
WT.exe 访问被拒绝。WindowsTerminal.exe 访问被拒绝。
#解决方案 Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.WindowsTerminal_8wekyb3d8bbwe