UWP和启动桌面应用程序

时间:2019-01-22 21:20:46

标签: c# uwp process desktop launch

我正在考虑使用UWP创建自己的DAM(数字资产管理),因为我喜欢Fluent Design。但是,我将需要启动桌面应用程序,例如Photoshop,DXO PhotoLab,Nik Collection。可以吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,UWP应用不能简单地使用Process.Start ,就像@Chris的回答所暗示的那样。这是由于他们的沙盒安全模型。

我有一个解决方法,目前无法测试,但是从理论上讲,这应该对您有用

  1. 如果声明了 runFullTrust 功能,则可以启动位于appx包中的exe文件。请参阅thisthis问题。

  2. 该exe作为完全信任应用程序运行,该应用程序又可以使用Process来启动其他任何程序。

因此构建处理启动过程的服务 Photoshop等,将该服务作为exe捆绑到您的appx中,并从UWP中调用

彻底考虑安全隐患

以上过程与rootkits等的工作原理非常相似。您实际上是在有意打破沙箱。请确保您的exe或UWP都不会被劫持,以运行用户不想要的可执行文件。

此外,通过声明 runFullTrust ,您将受有关Windows Store接受的非常不同的规则的约束。 (基本上与完整的Desktop Apps的审查方式相同。)如果您打算通过商店进行分发,请检查您打算做的事情是否可以接受。 (如果有人对此有信息,请进行编辑。