在Windows 10推出后,微软引入了UWA(Universal Windows Apps),这是一种全新的应用类型,旨在为所有Windows 10设备提供一致的应用体验。如果是一个开发者,可能会遇到一些传统Windows桌面应用(如WPF或Win32应用)在现代操作系统上的问题,比如安装错误、卸载不彻底、资源占用过高等。为了解决这些问题,可能会考虑将应用迁移到UWA。幸运的是,微软提供了一个名为Project Centennial的工具,可以帮助轻松地将现有的桌面应用转换为UWA,而无需更改任何代码。
传统的Windows桌面应用可能会遇到以下问题:
为了克服这些问题,转向UWA是一个明智的选择。虽然互联网上有许多资源解释如何构建UWA,但很少有资源详细说明如何将现有的传统Windows/WPF/Win32桌面应用转换为UWA。Project Centennial正是解决这一问题的答案。
简而言之,Project Centennial是一个有用的桌面应用转换器,它可以帮助开发者将他们的桌面应用/Win32/WPF传统应用转换为UWA。只需要提供安装程序文件(MSI)或.EXE文件作为输入,它就会处理这些文件,并为生成一个可以轻松安装在Windows 10上的.AppX或.AppXbundle文件,并且可以将这个文件部署到Windows商店。
通过Project Centennial创建的应用可以充分利用Windows 10的优势。应用可以平滑地使用边载(sideloading)功能进行安装。
应用将拥有包身份,这使得可以在现有代码中轻松调用UWA(Universal Windows Apps)API。
用户将体验到类似Windows商店的安装过程,因为可以实现一键安装。
安装和卸载过程将变得更加智能,因为所有必需的文件和注册表项都存储在单一位置。
系统速度不会受到影响,因为注册表项不会遍布整个注册表,安装文件将位于单一位置。
转换后,输出包将拥有Windows应用的特性,如优秀的用户界面、动态磁贴、更新、服务、后台工作等。
Windows商店的许可和更新功能将默认适用于转换的应用。
一旦转换为AppX,可以在不同的Windows平台上运行它,如桌面、移动设备、Xbox、Surface、全息设备、IoT等。
要运行Project Centennial,系统至少需要安装Windows 10。硬件方面,建议使用x64处理器,并配备足够的内存。
首先,需要下载DesktopAppConverter.zip文件和基础映像.wim文件,这两个文件都可以从微软的官方网站下载。
在本地系统上解压缩DesktopAppConverter.zip文件。
使用具有管理员权限的PowerShell窗口来安装转换器,如下所示:
PowerShell PS C:\> .\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose
成功运行上述命令后,系统将重新启动。
重新启动后,几乎可以使用应用转换器了。可以使用PowerShell或命令提示符来运行这个工具,需要提供不同的参数,如安装程序、目标、包名称、发布者和版本,以生成AppX文件(这是转换器程序的输出)。
语法如下:
DesktopAppConverter.ps1
-Installer
[
-InstallerArguments ]
[
-InstallerValidExitCodes ]
-Destination
-PackageName
-Publisher
-Version
有关更多详细信息和用法,可以访问以下链接:
Project Centennial是一个非常出色的转换器,它可以将传统的Windows/Win32 EXE直接转换为AppX,而且不需要更改任何代码。此外,还将获得所有类似于Windows商店应用的额外好处。现在让看看未来开发者将如何利用这个机会,将他们的EXE/MSI转换为AppX。