为多实例uwp应用实现桌面扩展

时间:2020-04-05 05:08:57

标签: uwp windows-10 desktop-bridge

我按照this的文章为我的uwp应用程序添加了多实例桌面扩展。但是我遇到了部署错误:

Deployment Error Prompt

错误DEP0700:应用程序注册失败。 [0x80073CF6] AppxManifest.xml(79,10):错误0x80080204:无法注册包,因为在SupportsMultipleInstances为true时必须指定EntryPoint。

如果我提供与我的uwp应用程序(在这种情况下为UWP.App)相同的入口点,尽管没有部署错误,但是appserviceconnection失败并显示以下消息:

App not available

有人建议我应该怎么做吗?

[编辑]

我按照this文章中所述制作了Out-proc AppService,并按照文章中的相同步骤从完全信任过程开始了它。但是我似乎找不到任何方法从我的uwp应用程序捕获其实例。有帮助吗?

2 个答案:

答案 0 :(得分:1)

按照here所述创建进程外应用服务。禁用多实例以进行进程外服务。为uwp应用程序的每个实例创建一个新服务。在后台任务类中创建一个静态字段,以存储用于桌面扩展的appservice,并在从桌面扩展创建appservice时对其进行初始化。然后,您可以将消息从uwp应用实例传递到过程外应用服务,然后再从应用服务传递到桌面扩展。

答案 1 :(得分:0)

恐怕您遵循的步骤不适用于多实例UWP应用程序,因为多实例应用程序不支持In-proc AppService。记录在这里:
https://docs.microsoft.com/en-us/windows/uwp/launch-resume/multi-instance-uwp#background-tasks-and-multi-instancing

您仍然可以从多实例应用程序启动完全信任过程(桌面扩展),但是所遵循的文章中所述的跨过程通信不适用于此处。它仅限于标准的单实例UWP应用程序。