迁移桌面程序到MS Store(2)——Desktop App Converter
迁移传统桌面程序到MS Store的另一种方式是使用Desktop App Converter工具。虽然本篇标题包含了Desktop App Converter(以下简称DAC),实际上我是来劝你别用DAC的……
首先我简单介绍下DAC,DAC可以转换传统桌面程序,将其打包成APPX文件。虽然名字里有Converter字样,实际这是一个打包程序,并不会真正去修改用来打包的源程序。
为了使用DAC,你需要1607版本以上的Windows 10 Pro。我想也没有人会闲的蛋疼用Win7去打包APP进商店才对。
另外使用DAC的一个好处是,你不需要Visual Studio,如果这也算好处的话。但是相对的,你需要安装Windows 10 的SDK。
接着你就可以去MS Store去下载Desktop App Converter了。其实DAC本身就是一个通过Desktop Bridge转制的APP。
使用DAC需要Admin权限,运行起来之后,是类似CMD的窗口。

接下来就是通过一些难记的命令行参数来打包桌面程序,都8102年了,啧啧啧……
为什么我不推荐使用DAC呢,大概有以下几点:
- DAC其实是用在没有源代码的情况下,直接打包installation或者exe文件的。很难想象连代码都没有的情况下,还需要去转换程序进商店。
- 其次打包生成的是APPX文件,不是APPXUpload文件。这其中区别还是蛮大的。
- APPX:这个是提交MS Store的应用,最早的扩展名啦。现在APPX仅推荐用于测试,还有一种叫做sideloaded的方式来安装使用。sideloaded我们后面再讲。反正就是不再推荐直接提交APPX文件。
- APPXBUNDLE:可以理解为包含了好几个APPX的捆绑包,比如一个APPXBUNDLE可以同时包含了x86,x64,ARM版本的APPX。
- APPXUPLOAD:这个是现在推荐的提交格式,是在APPXBUNDLE的基础上,再包含了一个可以对APP做性能分析的文件,提交商店的应用,可以在Dashboard页面下载日志文件,应该就是APPXUPLOAD额外提供的功能了。
- 不能方便的对打包的程序做修改,需要额外的工具如MakeAppx啥的。而使用Visual Studio的话,就直接在Packaging工程里修改appxmanifest.xml文件就可以了,比如换个磁贴图标啥的,简直就是一键生成。

本篇简单介绍了DAC的用法及不足之处,阻止了你在错误的道路上越走越远的趋势。同时科普了一下APPX,APPXBUNDLE和APPXUPLOAD三种文件的区别。
转制这种事情其实大家都不想的啦,如果有个愿意投钱的傻老板和愿意从1.0版本重头用起的憨用户,自然还是完全的重写真·UWP的好。后续我会转到从代码角度,把WPF程序迁移到真·UWP的讨论上。
感谢各位看到这里,我们不定期更新哈^_^
迁移桌面程序到MS Store(2)——Desktop App Converter的更多相关文章
- 迁移桌面程序到MS Store(9)——APPX With Desktop Extension
在<迁移桌面程序到MS Store(8)——通过APPX下载Win32Component>中我们讨论了通过APPX来下载Service部分的安装包.但是纯UWP的客户端并不能自动运行下载的 ...
- 迁移桌面程序到MS Store(1)——通过Visual Studio创建Packaging工程
之前跑去做了一年多的iOS开发,被XCode恶心得不行.做人呢,最重要的是开心.所以我就炒了公司鱿鱼,挪了个窝回头去做Windows开发了. UWP什么的很久没有正儿八经写了,国内的需求 ...
- 迁移桌面程序到MS Store(8)——通过APPX下载Win32Component
在上一篇<迁移桌面程序到MS Store(7)——APPX + Service>中,我们提到将desktop application拆分成UI Client+Service两部分.其中UI ...
- 迁移桌面程序到MS Store(10)——在Windows S Mode运行
首先简单介绍Windows 10 S Mode,Windows在该模式下,只能跑MS Store里的软件,不能通过其他方式安装.好处是安全有保障,杜绝一切国产流氓软件.就像iOS一样,APP进商店都需 ...
- 迁移桌面程序到MS Store(14)——APPX嵌入WCF Service以Admin权限运行
Windows10 1809版本开始,微软又对UWP开放了新的Capability:AllowElevation. 通过这个新的Capability,UWP APP能够在运行时向用户请求Admin权限 ...
- 迁移桌面程序到MS Store(5)——.NET Standard
接下来的几篇,我想讨论下迁移桌面程序到MS Store,可以采用的比较常见.通用性比较强的实施步骤和分层架构. 通常商业项目一般都是不断的迭代,不太可能突然停止更新现有的桌面版本,然后花很长时间从头来 ...
- 迁移桌面程序到MS Store(12)——WPF使用UWP InkToolbar和InkCanvas
我们在<迁移桌面程序到MS Store(4)——桌面程序调用Win10 API>提到了对Win10 API的调用,但仍存在无法在WPF中使用UWP控件的问题,虽然都是XAML控件,但却是两 ...
- 迁移桌面程序到MS Store(13)——动态检查Win10 API是否可用
假设我们现有一个WPF程序,需要支持1903以前的Windows 10版本.同时在1903以后的版本上,额外多出一个Ink的功能.那么我们就可以通过ApiInformation.IsApiContra ...
- 迁移桌面程序到MS Store(3)——开机自启动
迁移桌面程序的时候,有可能你会遇到这么个需求——开机自启动.Windows传统桌面程序的传统陋习.不论什么奇葩软件都想要开机自启动,默认就给你打开,一开机哐哐哐什么雷,什么企鹅都蹦出来,也不管你用不用 ...
随机推荐
- 提升HTML5的性能体验系列之二 列表流畅滑动
App的顶部一般有titlebar,下面是list.常见的一个需求是要在list滚动时,titlebar不动.这个简单的需求,实现起来其实并不简单. 在普通web上的做法是使用div的滚动条,把lis ...
- Spark Streaming性能调优详解
Spark Streaming性能调优详解 Spark 2015-04-28 7:43:05 7896℃ 0评论 分享到微博 下载为PDF 2014 Spark亚太峰会会议资料下载.< ...
- javascript声明对象时 带var和不带var的区别
2015/11/25补充: 关于变量声明这里有详细的解释: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Stat ...
- 2G内存编译android4.0
http://blog.csdn.net/leerobin83/article/details/7873229 1.Error occurred during initialization of VM ...
- 2018.12.15 bzoj3998: [TJOI2015]弦论(后缀自动机)
传送门 后缀自动机基础题. 求第kkk小的子串(有可能要求本质不同) 直接建出samsamsam,然后给每个状态赋值之后在上面贪心选最小的(过程可以类比主席树/平衡树的查询操作)即可. 代码: #in ...
- oracle创建视图(view)
视图:是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词. 视图是存储在数 ...
- mongoDB的安装与连接
1.安装mongoDB 官网下载安装: https://www.mongodb.com/download-center/community 安装时选择自定义设置,安装到C盘program Files文 ...
- CHAPITRE III
Il me fallut longtemps pour comprendre d'où il venait. Le petit prince, qui me posait beaucoup de qu ...
- 常用.bat
休眠.bat rundll32 powrprof.dll,SetSuspendState 常用.bat start /d "d:\Program Files (x86)\Tencent\T ...
- IntelliJ IDEA 2017版 SpringBoot测试类编写
SpringBoot的测试类编写Demo 源码见 https://github.com/liushaoye/baseone.git