迁移传统桌面程序到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的更多相关文章

  1. 迁移桌面程序到MS Store(9)——APPX With Desktop Extension

    在<迁移桌面程序到MS Store(8)——通过APPX下载Win32Component>中我们讨论了通过APPX来下载Service部分的安装包.但是纯UWP的客户端并不能自动运行下载的 ...

  2. 迁移桌面程序到MS Store(1)——通过Visual Studio创建Packaging工程

    之前跑去做了一年多的iOS开发,被XCode恶心得不行.做人呢,最重要的是开心.所以我就炒了公司鱿鱼,挪了个窝回头去做Windows开发了.        UWP什么的很久没有正儿八经写了,国内的需求 ...

  3. 迁移桌面程序到MS Store(8)——通过APPX下载Win32Component

    在上一篇<迁移桌面程序到MS Store(7)——APPX + Service>中,我们提到将desktop application拆分成UI Client+Service两部分.其中UI ...

  4. 迁移桌面程序到MS Store(10)——在Windows S Mode运行

    首先简单介绍Windows 10 S Mode,Windows在该模式下,只能跑MS Store里的软件,不能通过其他方式安装.好处是安全有保障,杜绝一切国产流氓软件.就像iOS一样,APP进商店都需 ...

  5. 迁移桌面程序到MS Store(14)——APPX嵌入WCF Service以Admin权限运行

    Windows10 1809版本开始,微软又对UWP开放了新的Capability:AllowElevation. 通过这个新的Capability,UWP APP能够在运行时向用户请求Admin权限 ...

  6. 迁移桌面程序到MS Store(5)——.NET Standard

    接下来的几篇,我想讨论下迁移桌面程序到MS Store,可以采用的比较常见.通用性比较强的实施步骤和分层架构. 通常商业项目一般都是不断的迭代,不太可能突然停止更新现有的桌面版本,然后花很长时间从头来 ...

  7. 迁移桌面程序到MS Store(12)——WPF使用UWP InkToolbar和InkCanvas

    我们在<迁移桌面程序到MS Store(4)——桌面程序调用Win10 API>提到了对Win10 API的调用,但仍存在无法在WPF中使用UWP控件的问题,虽然都是XAML控件,但却是两 ...

  8. 迁移桌面程序到MS Store(13)——动态检查Win10 API是否可用

    假设我们现有一个WPF程序,需要支持1903以前的Windows 10版本.同时在1903以后的版本上,额外多出一个Ink的功能.那么我们就可以通过ApiInformation.IsApiContra ...

  9. 迁移桌面程序到MS Store(3)——开机自启动

    迁移桌面程序的时候,有可能你会遇到这么个需求——开机自启动.Windows传统桌面程序的传统陋习.不论什么奇葩软件都想要开机自启动,默认就给你打开,一开机哐哐哐什么雷,什么企鹅都蹦出来,也不管你用不用 ...

随机推荐

  1. 提升HTML5的性能体验系列之二 列表流畅滑动

    App的顶部一般有titlebar,下面是list.常见的一个需求是要在list滚动时,titlebar不动.这个简单的需求,实现起来其实并不简单. 在普通web上的做法是使用div的滚动条,把lis ...

  2. Spark Streaming性能调优详解

    Spark Streaming性能调优详解 Spark  2015-04-28 7:43:05  7896℃  0评论 分享到微博   下载为PDF 2014 Spark亚太峰会会议资料下载.< ...

  3. javascript声明对象时 带var和不带var的区别

    2015/11/25补充: 关于变量声明这里有详细的解释: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Stat ...

  4. 2G内存编译android4.0

    http://blog.csdn.net/leerobin83/article/details/7873229 1.Error occurred during initialization of VM ...

  5. 2018.12.15 bzoj3998: [TJOI2015]弦论(后缀自动机)

    传送门 后缀自动机基础题. 求第kkk小的子串(有可能要求本质不同) 直接建出samsamsam,然后给每个状态赋值之后在上面贪心选最小的(过程可以类比主席树/平衡树的查询操作)即可. 代码: #in ...

  6. oracle创建视图(view)

    视图:是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词. 视图是存储在数 ...

  7. mongoDB的安装与连接

    1.安装mongoDB 官网下载安装: https://www.mongodb.com/download-center/community 安装时选择自定义设置,安装到C盘program Files文 ...

  8. CHAPITRE III

    Il me fallut longtemps pour comprendre d'où il venait. Le petit prince, qui me posait beaucoup de qu ...

  9. 常用.bat

    休眠.bat rundll32 powrprof.dll,SetSuspendState 常用.bat start /d  "d:\Program Files (x86)\Tencent\T ...

  10. IntelliJ IDEA 2017版 SpringBoot测试类编写

    SpringBoot的测试类编写Demo 源码见 https://github.com/liushaoye/baseone.git