如何创建一个完全信任的UWP应用程序?

时间:2017-02-22 02:24:56

标签: windows uwp

通过DAC使用Desktop Bridge(以前称为Project Centennial),可以创建一个完全信任的UWP应用程序。我认为这意味着您现在可以创建一个完全信任的UWP应用程序,如果是这样,您是如何做到的?

我想知道的是我可以在我的UWP项目上手动设置哪些配置以授予其完全信任。

如果您需要一些背景知识,我需要创建一个必须是UWP的企业工具。应用程序将在我的公司上运行,其中一个使UX更好的功能是能够在UWP允许的范围之外访问文件系统的某些部分,最好不要召唤对话框。能够运行其他DLL也是一大优点;也许这次是DLL Hell。

2 个答案:

答案 0 :(得分:3)

我不知道这些选择。是的,DAC可以包含Full-Trusted Win32应用程序,但它仅适用于Win32。 UWP - WinRT - 应用程序受App Container限制。

替代选项是 - 使用"特殊功能"。

Special and restricted capabilities

有许多声明克服了沙盒的限制。其中一些不适用于商店提交 - 仅适用于内部部署应用程序。其他人需要注册Microsoft才能与商店一起部署。如果您的要求匹配,您可以使用它。

(已添加 - 2017年6月)从Win10 AU,我们可以使用" FullTrustLauncher"用于从UWP App启动Win32组件的API。但是,是的,这并不意味着我们可以运行" UWP" - 具有完全信任权限的WinRT流程。它仅适用于Win32进程。并且,Win32应用程序可执行文件应该包含在应用程序的AppX包中,清单应该将可执行文件声明为" windows.fullTrustProcess"。

  <Extensions> 
    <desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe"> 
      <desktop:FullTrustProcess> 
        <desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/> 
        <desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/> 
      </desktop:FullTrustProcess> 
    </desktop:Extension> 
  </Extensions> 

Full​Trust​Process​Launcher Class

答案 1 :(得分:3)

@Anzurio-偶然发现了您的问题,并认为我会分享我们构建新Windows Terminal的经验。

我们最初打算将终端作为UWP应用程序创建,并具有良好的现代XAML UI,但很快发现UWP应用程序平台不能满足我们的几个关键要求: 1.终端必须能够升起 2.终端必须能够启动并连接到任意可执行文件(例如,cmd,powershell,wsl等)

由于这些限制,我们必须将终端创建为标准Win32进程,其中包含一个XAML Island,该进程在主窗口框架中托管终端的选项卡栏和终端XAML控件实例。

我们已尽力将Win32主机的应用程序生命周期/逻辑代码保留在尽可能多的范围内,这样,当/当应用程序平台确实满足我们的要求并且可以发货时,我们要做的工作就更少了。一个真正的UWP终端应用程序。

我们正在与应用平台小组合作,以弄清楚我们将来如何能够更干净地构建/完全信任现代应用。

与此同时,我希望这种回答能有所帮助,并希望终端资源为您提供有关如何制作自己的应用程序的灵感。