一个月前微软发布了桌面应用程序转换器(Desktop Application Converter),让我们可以把现有的桌面应用程序(.NET 4.6.1 或 Win32)轻松转换成 通用 Windows 平台 (UWP) 的程序。

这实际上为开发者带来了巨大的机会。目前已经看到许多开发商主动开始这个过程并成功转换,发布到了 Windows 应用商店。 有些应用只需要少量或者不需要做代码修改,最快的一周就可以把自己的桌面应用程序带到Windows 10 应用商店里面。目前有超过3 亿 5000 万的设备正在运行 Windows 10,这种转换为有价值的桌面应用程序提供了前所未有的易于展现和购买的渠道。

不过,在这个过程中,我也注意到有两个常见的问题︰

A. 我成功转换此应用程序,它运行得相当好,但似乎没有办法直接发布到 Windows 商店?

B. 真是太酷了! 但是转换需要下载很大的image (3.5GB+) 和安装特定环境,我还没空尝试。。。。.

当然也有其他的问题,比如一些细节的准备工作,如何添加一些代码来在传统桌面程序里面使用 UWP API,有其它参考链接对此做了详细解释,在这里我主要回答上面两个问题:

关于问题 A,当决定转换并通过Windows应用商店发布自己的桌面应用程序时(不管会不会转换)都可以通过微软官方链接提交请求 (这个表格目前还是英文,但不难理解, 在提交的时候请注明来自国家地区,并附上本文博客链接)︰

https://developer.microsoft.com/en-us/windows/projects/campaigns/desktop-bridge

微软应用咨询团队(包括我在内)将帮助这个过程,包括解决转换中的技术问题,创建一个用来发布应用程序的特定开发者帐户。我们需要在这里特定开发者帐户,是因为转换后的应用程序,需要"runFullTrust",这就是转换后的程序不能直接将其发布的原因。

关于 B 的问题,我开发创建了"Desktop Bridge Online" 的Azure 服务,它可以帮助开发人员上传和转换的应用程序(写了个调用DAC的 windows 服务) 在线快速 (几个点击和文件名输入)︰

https://bridge10.azurewebsites.net

这项服务可能没有涵盖所有极端复杂的安装转换场景,但会满足大多数转换需求。

结果将是一个 zip 文件包含转换后的Appx程序包、测试证书和 程序包的分析文件。目前的应用程序安装程序文件大小仅限于 500 MB。如果您的安装程序超过上面的文件大小,鼓励安装本地转换环境。这里是主要的用户界面︰

转换选项如下所示参数的含义参考 https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter

希望上面的信息和新的在线工具可以让我们更好地协助需要转换桌面应用程序的开发人员。任何反馈随时让我知道。

来自Windows 应用程序咨询团队其它有益的参考:

https://blogs.msdn.microsoft.com/appconsult/2016/10/13/desktop-bridge-the-bridge-between-win32-apps-and-the-universal-windows-platform/

https://blogs.msdn.microsoft.com/appconsult/2016/10/17/desktop-bridge-converting-an-installer/

Thanks!

Freist Li

行动起来:转换传统桌面应用程序到UWP 并发布到Windows 应用商店!的更多相关文章

  1. Rafy 领域实体框架示例(1) - 转换传统三层应用程序

    Rafy 领域实体框架发布后,虽然有帮助文档,许多朋友还是反映学习起来比较复杂,希望能开发一个示例程序,展示如何使用 Rafy 领域实体框架所以,本文通过使用 Rafy 领域实体框架来改造一个传统的三 ...

  2. 突破短板,传统桌面程序 使用webapi 扩展迎合web和移动端融合的需求

    传统桌面程序不能完全被web和移动端替代,但是需要改造.这里要说的是巧用webapi把以前用dll和com组件,ocx等方式做接口,做分布式开发的方式,改成restful 风格api的方式实现跨平台, ...

  3. 适用于Windows桌面应用程序的.NET Core 3

    介绍 9月,微软发布了新版.NET Core,用于构建Windows桌面应用程序,包括WPF和Windows Forms.从那时起开发人员可以将传统的nfx桌面应用程序(和控件库)迁移到.NET Co ...

  4. c#实现windows远程桌面连接程序

    c#实现windows远程桌面连接程序 使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主 ...

  5. c#实现windows远程桌面连接程序代码

    使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主机的配置. 远程桌面核心类库 windo ...

  6. Visual C++ Windows 桌面应用程序样例(摘抄)

    //================================== //Windows应用程序框架结构(例子) //参考:<Visual C++宝典>陈国建等编著 //======= ...

  7. 杂项-桌面应用程序:Windows Live Writer(WLW)

    ylbtech-杂项-桌面应用程序:Windows Live Writer(WLW) Windowslive Writer 即(WLW) 是一个免费的桌面应用程序,您可以使用它轻松发布丰富的内容到您的 ...

  8. electron之Windows下使用 html js css 开发桌面应用程序

    1.atom/electron github: https://github.com/atom/electron 中文文档: https://github.com/atom/electron/tree ...

  9. PHP-GTK 扩展(用PHP编写桌面应用程序)

    PHP能做什么? PHP-GTK (构建桌面应用程序在PHP中使用PHP-GTK) 普及一下知识php如何做桌面客户端 [PHP技术]PHP开发Windows桌面应用程序实例 实战PHP/GTK 哪位 ...

随机推荐

  1. MYSQL中插入数据以及修改数据的部分方法

    #插入/增加:使用INSERT #修改:使用ALTER #修改数据类型ALTER TABLE table02 MODIFY COLUMN cname VARCHAR(100);ALTER TABLE ...

  2. Portal嵌入SAPUI5应用程序

    Embedding SAPUI5 Applications You can embed SAPUI5 applications directly into the SAP Fiori launchpa ...

  3. HTML表单数据转JSON

    问题描述 后端使用如下方式接收前端传入参数: @PostMapping(value = "/test", produces = MediaType.APPLICATION_JSON ...

  4. new出来的对象无法调用@Autowired注入的Spring Bean

    @Autowired注入Spring Bean,则当前类必须也是Spring Bean才能调用它,不能用new xxx()来获得对象,这种方式获得的对象无法调用@Autowired注入的Bean. 1 ...

  5. jquery simple modal

    窗体API定义丰富,而且使用也很容易上手.官方地址:http://www.ericmmartin.com/projects/simplemodal/从官方下载插件,在文件中引用<script t ...

  6. Mac OS忘记password怎么办?无光盘破解Mac OS的管理员password

    mac系统10.8.5升级10.10 出现故障,重新启动系统无法登陆,降级系统10.9 后更新10.9.3 finder无法打开,root权限没了,又再一次覆盖安装10.9(为了保护原系统文件.所以覆 ...

  7. Oracle,mysql,sqlserver,postgresql语句几点比較

    1.分页 Oracle: SELECT * FROM(SELECT A.*, ROWNUM RN FROM (select T.* from sj_receiptinfo t WHERE t.TAXN ...

  8. Android 淘宝搜索记录分析及千牛数据库名称关联

    一 taobao搜索关键字分析1.导出淘宝数据文件夹.2.搜索search 找到search文件夹.查看里面可疑文件如history_8d4255cc9c9199c6ec3be940936986b9. ...

  9. Android应用资源

    Java刚開始学习的人直接在Java源代码使用"hello" 和123 类型的字符串和整型.但时间长了就会忘记当初定义的原因,有经验的或许会定义字符串常量ResultSet.TYP ...

  10. java错误:无法将Object转换为int类型

    Object value java要想将Object转换为int类型,就必须先将Object转换为String,然后String再转换为int,如下: Integer.parseInt(String. ...