为什么会出现“文件资源管理器以管理员权限运行时无法打开(应用程序名称)”的错误?

为什么会出现“文件资源管理器以管理员权限运行时无法打开(应用程序名称)”的错误?

在以管理员权限(通过安装程序)重新启动资源管理器后,当我尝试启动现代 UI 应用程序时收到此消息。

我知道如何修复它(只需重新启动没有管理员权限的 explorer),但我很好奇:为什么禁止在以管理员权限运行 explorer 的情况下运行 metro 应用?我想不出任何好的理由。

答案1

我自己前段时间也遇到过这个错误,并对其进行了一番研究,以下是我所了解的原因。如果任何 Windows 编程专家发现任何严重错误,请进行编辑和改进。

Windows 8 以及新 Metro/Modern UI 和应用程序的推出使得操作系统的安全模型需要进行多项增强。应用容器是一种应用于 Metro 应用程序的新隔离方法,默认情况下,它可以阻止它们读取和写入大多数操作系统,但应用程序自己的 AppData 文件夹除外。

Metro 应用可以声明在他们的应用程序清单文件中关于哪个操作系统能力他们需要访问。您可以在提供可靠且值得信赖的 Metro 风格应用文章构建 Windows 8博客。

AppContainer 是通过 Windows 8 中的新完整性级别实现的,并通过对操作系统的一些额外更改来支持。AppContainer 完整性级别块同时读取对标有更高完整性级别的对象的写访问。现在 Windows Explorer 通常以中等完整性模式运行,并且 explorer.exe 是所有其他用户启动的进程从其继承访问令牌的父进程。如果 Explorer 以管理员权限运行,即以高完整性级别运行,则它启动的任何 Metro 应用都将继承该管理访问令牌,这显然是绝对不允许的,因为它将违反 AppContainer 完整性级别提供的沙盒环境。因此抛出了错误消息。

相关内容