环境为Visual Studio 2017,已经安装了Windows通用开发模块。官网(https://docs.microsoft.com/zh-cn/windows/uwp/porting/desktop-to-uwp-packaging-dot-net)对这个介绍很详细了,于是手痒尝试了一番。
如果想转C++或C#工程的话,使用最新版VS还是比较容易的。
如图,创建该工程后直接将原来工程的启动项目添加为该工程的引用即可。C++项目同理。
很不幸,我拿来实验的对象是QQ,于是按照MS说法,新建一个JS的空白应用(据说其它几种效果不好)。
然后在QQ安装路径直接把QQ文件夹拖到“解决方案管理器”标签里,VS会自动复制所有文件。在解决方案资源管理器中,展开打包项目,右键单击 package.appxmanifest 文件,然后选择查看代码。然后按照官方教程将XML文件需要添加的代码添加到相应位置即可。
最后选择“项目”->“应用商店”->“创建应用程序包”,因为只是拿QQ实验,所以“是否生成要上载至应用商店的包”选否,选是需要有开发者帐户,而且QQ也不是我开发或发行的,肯定不能选“是”。下一步体系结构选择Neutral,然后创建即可。创建完成后会有验证环节,都是自动完成,无需多言。验证完成后,打开包的导出地址,可以看到一个文件夹和三个文件。appxbundle是捆绑包,cer是数字证书,ps1是Power Shell安装程序。右键选择ps1文件,选择在Power Shell中执行,即可完成安装。于是获得了UWP的桌面版QQ,使用体验和桌面版没有任何差别。
【本文仅供体验,请不要将他人的桌面软件转为UWP后上线或大面积传播!】