使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

栏目: 编程工具 · 发布时间: 6年前

内容简介:能上架 Windows 应用商店的并不一定必须是 UWP 应用程序或者 PWA 程序,也可以是普通的 Win32 应用程序。典型的上架应用商店的应用有微信、Telegram、Snipaste 等。使用 Desktop Bridge,我们即可以为我们的普通 Win32 应用程序做一个 UWP 的包来。如果你并没有感受到 Win32 转制的商店应用和原生的 UWP 或 PWA 应用有什么不同,可以尝试体验下面的三款转制应用。Desktop Bridge,可能还可以叫做“桌面桥”,它存在的目的便是将已有的 WP

能上架 Windows 应用商店的并不一定必须是 UWP 应用程序或者 PWA 程序,也可以是普通的 Win32 应用程序。典型的上架应用商店的应用有微信、Telegram、Snipaste 等。使用 Desktop Bridge,我们即可以为我们的普通 Win32 应用程序做一个 UWP 的包来。

商店中那些转制的应用

如果你并没有感受到 Win32 转制的商店应用和原生的 UWP 或 PWA 应用有什么不同,可以尝试体验下面的三款转制应用。

了解 Desktop Bridge

Desktop Bridge,可能还可以叫做“桌面桥”,它存在的目的便是将已有的 WPF 程序、Windows Forms 程序和其他 Win32 应用转换成应用商店应用。而桌面桥提供了一种与 UWP 一致的 Windows 应用包,使用这种 Windows 应用包,普通的 Win32 应用也能访问 UWP 的 API。

需要注意的是,Desktop Bridge 要求的 Windows 系统最低版本为 1607。也就是说,如果要选择 SDK 的版本,需要选择 10.0.14393 或以上版本。

当然,并不是所有的 Win32 应用程序都支持直接转制到 UWP,如果应用会动态加载不在安装包中的 dll 或者会试图修改系统文件和配置,那么必须去掉这些代码才能完成转制。如果希望了解更多不支持的类型,建议阅读官方文档: Prepare to package an app (Desktop Bridge) - UWP app developer - Microsoft Docs

在 Visual Studio 中创建 Windows 应用打包工程

使用 Visual Studio 打开原来的 Win32 程序的解决方案,在解决方案中新建一个 Windows 应用程序包项目(Windows Application Packaging Project)。我们将使用这个项目为转制应用打包。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

在选择 SDK 时,目标版本我选择了 17134,但注意最低版本必须是 14393 或以上。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

稍等片刻,我们便能看到 Visual Studio 已经为我们准备好的应用程序包工程。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

在 Applications(应用程序)一栏我们右击选择添加引用。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

随后展开 Applications(应用程序)一栏,将我们的 Win32 程序右击设为入口点。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

编译刚刚设置好的打包项目。如果之前的项目能够编译通过,那么这个新的打包项目理论上也是能编译通过的。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

将这个新项目设置为启动项目,启动它即可进行正常的调试,能够正常断点、单步等等。

修改包清单并发布应用

转制的应用和原生的 UWP 应用一样,发布之前也需要为应用设计图标,设置应用显示名称、包名称、关联应用商店。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

不得不说,为商店应用设计图标是一件非常繁杂的工作,不过,最终的效果确实非常喜人的。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

需要注意,在 https://dev.windows.com 上发布应用时,由于我们是转制的应用,所以 runFullTrust 是必选项。如果你在提交应用时遇到了以下提示框,微软的官方文档提示无需写明理由。

This capability is also required for any desktop application that is delivered as an appx package (as with the Desktop Bridge), and it will automatically appear in your manifest when packaging these apps using the Desktop App Converter (DAC) or Visual Studio. You won’t need to request approval to use this capability if you already received permission using our form.

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP

参考资料

本文会经常更新,请阅读原文: https://walterlv.github.io/post/windows-desktop-bridge.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系


以上所述就是小编给大家介绍的《使用 Visual Studio (Desktop Bridge) 将 Win32 程序转制成 UWP》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

火球

火球

张传波 / 2012-2 / 39.80元

《火球:UML大战需求分析》融合UML、非UML、需求分析及需求管理等各方面的知识,帮助读者解决UML业界问题、需求分析及需求管理问题。全书主要介绍UML的基本语法、面向对象的分析方法、应用UML进行需求分析的最佳实践及软件需求管理的最佳实践四个方面的内容。 《火球:UML大战需求分析》各章以问题为引子,通过案例、练习、思考和分析等,由浅入深地逐步介绍UML综合应用的知识。《火球:UML大战......一起来看看 《火球》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具