我在UWP中使用WinUI启动了一个新项目。由于安全原因,我认为使用Process.Start启动进程不工作或不受支持,但当我启动下面的代码片段时,它开始以某种方式工作。
现在的问题是,为什么它能工作,或者是否存在任何限制,例如,我不能将包含在我的项目中的.exe部署到Microsoft?
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");
}
}
可执行项目(Build Action = None和Copy to Output Directory = Copy如果更新):
发布于 2021-07-05 18:11:40
但是,当我启动下面的代码片段时,它开始以某种方式工作。
我用您的代码进行了测试,它抛出异常The system cannot find the file specified
,它在我这边不起作用。你能不能分享一个例子来解释这个问题。
为什么它能工作,或者是否有任何限制,例如,我不能将包含在我的项目中的.exe部署到Microsoft中?
一般来说,我们经常使用FullTrustProcessLauncher从uwp启动FullTrustProcessLauncher应用程序。但是,您需要为包项目启用runFullTrust受限功能。受限功能是针对非常特定的场景而设计的。这些功能的使用受到高度限制,并受制于额外的商店入职政策和审查。请注意,您可以在不需要获得任何批准的情况下辅助声明受限功能的应用程序。只有在向商店提交这些应用程序时才需要批准。
发布于 2021-07-07 07:00:01
您可以在秋季创建者更新Windows10及更高版本上使用.exe
API在.NET中运行包中包含的Process.Start
。
在Visual中,检查项目->属性->应用程序下应用程序的目标Min Version
。应该将其设置为Windows 10 Fall Creators Update (10.0; Build 16299)
或更新版本。
只要外部组件(example.exe
)是单独认证的,或者符合,您就应该能够在商店中发布应用程序。
https://stackoverflow.com/questions/68255459
复制