如果我的应用程序无法与 Windows 商店兼容怎么办?

What to do if I can't make my app compatible for the Windows Store?

在我的软件项目中,我大量使用 WinAPI 函数 "SetParent()" 将终端程序的多个实例嵌入到我的应用程序中。

据我所知,即使使用桌面桥,也无法将我的应用程序转换为 UWP 应用程序。这很可悲,因为该应用程序在 Windows 10.

上表现非常好

还有可能在 Windows 商店中发布吗?是否可以提交类似存根 UWP 应用程序的东西,它只包含下载 link 到我的非 UWP 应用程序的 .msi 包,然后用户可以安装?

编辑:

使用桌面桥,我可以为我的 .NET 4.6.1 WinForms 应用程序成功创建一个 .appx 包。我还可以使用 Process.Start() 从我的 .NET 应用程序启动 Win32 应用程序的多个实例,并使用 SetParent() 嵌入它的 window。 Win32 和 .NET 应用 运行 在同一个沙盒中。这两个应用程序都必须满足特殊要求 (https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-prepare),否则将无法运行。

Desktop Bridge 应用程序没有任何 API 限制。您可以调用任何 public Windows API,包括 SetParent。您的应用将被允许进入商店(当然,除非它违反任何其他商店政策)。

有关桌面桥的更多信息:http://aka.ms/desktopbridge

具体来说,我建议阅读本主题以准备将 .msi 转换为 Windows 应用程序包 (.appx):https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-prepare