迁移传统桌面程序到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. Vue单页面应用

    单页面应用指一个系统只加载一次资源,然后下面的操作交互.数据交互是通过router.ajax来进       行,页面并没有刷新:<1>在vue搭建的环境里面怎么有没有公用的css和js? ...

  2. 155. Min Stack - Unsolved

    https://leetcode.com/problems/min-stack/#/solutions Design a stack that supports push, pop, top, and ...

  3. ManageEngine卓豪 IT管理峰会圆满结束

  4. 如何安全管理windows系统日志,windows系统日志的报表和告警

    如何安全管理windows系统日志,windows系统日志的报表和告警 无论大小,每个拥有IT基础设施的组织都容易发生内部安全攻击.您的损失等同于黑客的收益:访问机密数据.滥用检索到的信息.系统崩溃, ...

  5. Django框架之序列化和上传文件

     一.Django的序列化(对于ajax请求) Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式. 1)django序列化的使用方法 . ...

  6. Java 数组拷贝方法 System.arraycopy

    System类提供的数组拷贝方法: public static native void arraycopy(Object src, int srcPos, Object dest, int destP ...

  7. nginx反向代理缓存服务器的构建

    一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送 ...

  8. 2019.01.22 uoj#14. 【UER #1】DZY Loves Graph(并查集)

    传送门 题意简述: 要求支持以下操作: 在a与b之间连一条长度为i的边(i是操作编号):删除当前图中边权最大的k条边:表示撤销第 i−1次操作,保证第1次,第i−1 次不是撤回操作. 要求在每次操作后 ...

  9. PKG_CONFIG_PATH变量 与 ld.so.conf 文件

    一.编译和连接 一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径.由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安 ...

  10. 学以致用一 安装centos7.2虚拟机

    5说来惭愧,也是很久没来博客园了.距离上次写的已经快一年,只能说时间过的真的很快. 而如果这一年一直在坚持认真学习的话,收获肯定很多.然而我确又浪费了很多光阴,不得不恨这人生苦短. 在这一年里,小孩还 ...