/invokerPRAID 是什么?

What is /invokerPRAID?

我正在制作一个通用 Windows 应用程序,专为娱乐目的而设计,其任务之一是 运行 本地安装的游戏。

我已经完成了 .appxmanifest 的所有配置 运行 a fullTrustProcess 并将 .exe 放在 /Assets 文件夹中,以便它可以无障碍。 但是一旦我尝试通过

通过应用程序 运行 .exe
await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();

我收到此错误消息:Error! Failed to open InvokerPRAID: with errno 22 这真的很奇怪,因为它似乎并没有在我尝试 运行 的每个 .exe 时抛出这个错误。 问题是我不知道这个错误是什么意思,而且我似乎无法在任何地方找到有关它的信息。 如果有人能对此事有所了解,我将不胜感激。

使用 FullTrustProcoessLauncher,您只能启动包中的 EXE,而不是系统上的任意游戏。如果这是您的目标,那么您可以在通过 FullTrustProcessLauncher 启动的程序包中包含一个简单的 EXE,然后它将依次启动您的游戏(通过 Process.Start 或 ShellExecute)。另请参阅我关于此主题的博客 post:https://stefanwick.com/2018/04/06/uwp-with-desktop-extension-part-2/

“/InvokerPRAID”参数由 FullTrustProcessLauncher 传递给 EXE,指示触发启动的应用程序 ID。

此 ID 在 appxmanifest.xml 文件中指定:

<Application ID="[PRAID]" ...>

顺便说一句,PRAID 代表 "package relative app id"。