迁移传统桌面程序到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. oracle 笔记DBA

    1.1oracle开启归档 关闭数据库 SQL>archive log list; SQL>shutdown immediate; SQL>startup mount ; SQL&g ...

  2. centos6.5虚拟机每次都要ifup eth0的解决办法

    修改文件/etc/sysconfig/network-scripts/ifcfg-eth0把ONBOOT=no改ONBOOT=yes

  3. java数组元素倒置

    package dataStructure; import java.util.Arrays; import java.util.ArrayList; public class Test1 { sta ...

  4. ServiceDesk Plus 服务管理自动指派工单功能

  5. innodb_log_buffer_size和innodb_buffer_pool_size参数说明

    innodb_log_buffer_size Command-Line Format --innodb_log_buffer_size=# System Variable Name    innodb ...

  6. GameObject.SendMessage

    Message相关有3条指令:    要接收消息的GameObject.SendMessage ("函数名",参数,SendMessageOptions)  //自身和父Objec ...

  7. 2018.10.24 NOIP模拟 小 C 的数组(二分+dp)

    传送门 考试自己yyyyyy的乱搞的没过大样例二分+dp二分+dp二分+dp过了606060把我自己都吓到了! 这么说来乱搞跟被卡常的正解比只少101010分? 那我考场不打其他暴力想正解血亏啊. 正 ...

  8. DevExpress 只允许修改指定列

    gridView1.OptionsBehavior.Editable = true; gridView1.OptionsBehavior.ReadOnly = false; foreach (Grid ...

  9. Java获取文件后缀名

    int dot = filename.lastIndexOf('.'); if ((dot > -1) && (dot < (licenceImg.getOriginalF ...

  10. python基本数据类型之字符串(一)

    python中字符串中有很多方法,具体方法如下图所示: 分割方法 字符串的分割方法: 1.join方法: join方法是字符串方法中最重要的方法之一,它的作用是将某一字符插入到字符串中用作连接. 具体 ...