首页 > 解决方案 > 我们可以在 UWP 项目中拥有两个 FullTrust 权限吗

问题描述

我正在开发一个 UWP 应用程序,其中我创建了一个 UWP 项目、Windows 打包项目、类库、控制台应用程序(Windows 应用程序)。

在这里,UWP 应用程序通过发送请求并从 Win32 应用程序中创建的方法获取响应来与控制台应用程序 (win23) 通信。这是通过使用 FullTrust 权限完成的。

但是,现在我想在这个项目中添加另一个 Fulltrust 权限应用程序,只要我调用这个应用程序,它就会独立运行。此外,这两个 win32 应用程序不会有任何用户界面,而只会充当后台进程。因此,在新的 win32 中,我正在实现访问 Microsoft Office Outlook 联系人的功能。

因此,如果我在 Packaging 项目的 Package.manifest 文件中声明这个新的 win32 应用程序并运行该应用程序。它给了我一个错误,说我们在项目中只能拥有一个 fullTrust 权限。

请你指导我如何去做。

标签: c#uwpwindows-10console-applicationdesktop-bridge

解决方案


虽然您只能在清单中声明一个完全信任进程扩展,但您当然可以启动任意数量的完全信任进程。这样做的方法是创建一个启动器进程并将其声明为您的完全信任进程扩展。然后,您可以从该启动器启动任意数量的其他 EXE,具体取决于您传递给启动器的参数。

此处使用完整的示例代码详细说明了此方法: https ://stefanwick.com/2018/04/06/uwp-with-desktop-extension-part-2/

为了完整性:另一种选择(更复杂,可能不是您想要的)是在清单中声明多个对象。其他对象可以是您通过 AppListEntry API 从 UWP 启动的完全信任应用程序。


推荐阅读