如何解决UWP 启动 Win32 控制台应用程序与 Process.Start 一起工作
我在 UWP 中使用 WinUI 启动了一个新项目。我认为由于安全原因,使用 Process.Start 启动进程不起作用或不受支持,但是当我启动以下代码片段时,它以某种方式开始工作。
现在的问题是,它为什么有效,或者是否有任何限制,例如我无法将项目中包含的 .exe 部署到 Microsoft Store?
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private async void ButtonBase_OnClick(object sender,RoutedEventArgs e)
{
Process.Start(@"Tools\example.exe","--help");
}
}
包含在项目中的可执行文件(构建操作 = 无和复制到输出目录 = 如果更新则复制) :
解决方法
但是当我开始下面的代码片段时,它开始以某种方式工作。
我用你的代码测试过,它抛出异常 The system cannot find the file specified
,它在我身边不起作用。你介意分享一个例子来解释这个吗。
为什么它有效,或者是否有任何限制,例如我无法将项目中包含的 .exe 部署到 Microsoft Store?
一般来说,我们经常使用 FullTrustProcessLauncher 从 uwp 启动 win32 应用程序。但是您需要为包项目启用 runFullTrust Restricted 功能。受限功能适用于非常特定的场景。这些功能的使用受到严格限制,并受额外的商店入职政策和审查的约束。请注意,您可以旁加载声明受限功能的应用程序,而无需获得任何批准。仅在将这些应用提交到应用商店时才需要获得批准。
,您可以在 Windows 10 及更高版本的 Fall Creators Update 上使用 .NET 中的 .exe
API 运行包中包含的 Process.Start
。
在 Visual Studio 中的 Project->Properties->Application 下检查您的应用程序的目标 Min Version
。应将其设置为 Windows 10 Fall Creators Update (10.0; Build 16299)
或更新版本。
只要外部组件 (example.exe
) 经过单独认证或符合 Windows 应用认证工具包,您就应该能够在应用商店中发布您的应用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。