按照 this videothis tutorial 中提供的指导,我成功创建了一个 UWP 应用程序,该应用程序能够使用桌面桥通过 Win32 后台进程连接到 USB 连接的 POS 打印机。

在 Visual Studio 中调试时,我的应用程序运行良好并正确打印,但我无法创建一个包来部署它。我的最终目标是 Windows 应用商店包,但我最初对可以旁加载到另一台本地计算机的包感到满意。

这是我尝试过的:

  • 我使用 Visual Studio 中的 Store > Create App Packages 选项以通常的方式创建应用程序包。此软件包安装正确,但未运行,报告不包含后台进程可执行文件。我的主 UWP 应用程序的构建过程包括一个构建事件,该事件将 Win32 后台进程项目的可执行文件复制到 AppX 目录的子目录中,但它们在打包过程中似乎被忽略了。
  • 我从 this tutorial(特别是作者对读者问题的回复)中了解到,这个打包过程需要使用 Desktop App Converter 来执行,我已经安装并提供了基本镜像,如 here 所述。所以我尝试从 AppX 目录下的 Visual Studio 输出创建一个包,直接引用 UWP 可执行文件作为打包应用程序的入口点。不幸的是,桌面应用程序转换器拒绝了这一点,并出现错误 E_APP_EXECUTABLE_NOT_FOUND。似乎 UWP .EXE 文件并不是真正的可执行文件。

  • 我从 this article 了解到,我想要实现的目标是两个进程都在同一个 UWP 容器内运行。这似乎是我调试 UWP 应用程序时发生的情况,但不清楚如何打包该场景。

    任何人都可以解释或指向我解释如何做到这一点的资源吗?

    提前谢谢了。

    最佳答案

    Desktop App Converter 不是适合这种情况的工具。您需要更新 appxmanifest 和 VS 项目设置才能使其正常工作。

    这里发布了几个示例,您可以遵循:
    https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/UWP%20Systray

    https://github.com/Microsoft/DesktopBridgeToUWP-Samples/tree/master/Samples/UWP%20Office%20Interop

    如果您使用 .NET 构建您的应用程序,则在创建用于商店提交的包方面,还有一些额外的步骤需要注意:
    https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net

    如果在此过程中出现更多问题,我们很乐意提供帮助。

    关于uwp - 如何使用桌面应用程序转换器打包带有 Win32 后台进程的 UWP 应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46272439/

    10-13 08:27