自2005年引入ClickOnce技术以来,.NET就支持应用程序自动升级。在ClickOnce模型中,WinForms和WPF应用程序在启动时会从预先配置好的位置查找新版本。但是,由于微软试图模仿iOS应用商店模型,所以,该模型未能延续到UWP。

\\

微软意识到,他们的大多数客户无法将其LOB应用程序发布到Windows商店,而且也不希望管理自己的“业务应用商店”,因此,他们一直在放宽之前的限制。首先,我们获得了“旁加载”应用程序的能力,无需使用应用商店。但是,需要手动升级应用。

\\

从即将到来的Windows 10 1804版本开始,开发人员无需应用商店就可以分发自动升级应用程序了。这使用了和ClickOnce一样的模型,其中,会有两个新文件和msix包一起生成。你可以定制index.html页面来满足自己的需求,而.appinstaller文件则扮演了和ClickOnce清单文件一样的角色。

\\

要使用这项技术,你需要把应用程序的最小版本设置成1804。你无法同时实现Windows旧版本支持和自动升级。

\\

通过配置,应用程序可以在每次运行时检查更新,或者在后台定期检查。另外,今年晚些时候,你将能够把更新标记为强制性的,这适用于有安全漏洞或者与之交互的应用程序有不兼容变更的情况。

\\

差异更新

\\

ClickOnce有个众所周知的问题,就是每次有新版本发布都需要下载整个应用程序。这个新模型支持差异更新。这应该可以把平常的安装时间减少到几秒钟。

\\

WinForms/WPF

\\

如果你正在把Windows应用程序打包项目应用于Win32应用程序(即WinForms或WPF),那么它们也会支持这种类型的自动升级。

\\

有限/差异发布

\\

一个常见的需求是,在推向整个公司之前,把应用程序的某个版本面向有限数量的用户发布,这本质上是Beta测试。对此,我们有多个选项。

\\

第一个选项比较简单,就是构建两个发布站点。用户可以选择从预览站点或主站安装。在这两个站点之间切换会涉及到在安装另一个站点的应用程序之前手动卸载应用程序。

\\

第二个比较复杂,你可以修改David Cooksey的文章“使用ClickOnce细分发布版本”中的指令。这种方式把应用程序清单隐藏在一个简单的站点后面,那样,它就可以在把用户指定的版本发给他们之前检查他们的证书。

\\

第三个选项是使用Visual Studio应用中心。这让你可以为应用程序设置分发组。

\\

查看英文原文:New UWP and Win32 Application Distribution Models

新的UWP和Win32应用程序分发模型相关推荐

  1. WinAPI入门: 第一个标准Win32窗口程序 [改进详细注释版]

    WinAPI入门: 第一个标准Win32窗口程序 下载链接: 若想立即看到本程序的运行结果,可点击EXE文件的免费下载链接; HelloWin_v1.sfx.exe;–带语音和背景音乐; 相关链接: ...

  2. 关于如何用od反汇编win32 控制台程序

    *********************************************************** 如何用od反汇编win32 控制台程序(类似dos程序)呢? ********* ...

  3. 第一个 Win32 窗口程序

    第一个 Win32 窗口程序 程序骨架 int WinMain(){ // 设计窗口外观及交互响应,注册,申请专利RegisterClass(...) ;// 生产窗口 CreateWindow(.. ...

  4. 转:解决vs2015生成软件在XP中运行时提示“不是有效的WIN32应用程序”

    http://blog.csdn.net/d_change/article/details/51824568 http://blog.csdn.net/asanscape/article/detail ...

  5. 完美解决Pycharm报错[WinError 193] %1 不是有效的 Win32 应用程序

    完美解决Pycharm报错[WinError 193] %1 不是有效的 Win32 应用程序 问题发生 长话短说,今天安装python64位时遇到了这个问题,我也看了网上很多说为什么会出现这个问题的 ...

  6. Win32应用程序开发:完整的开发流程

    上一篇中我给各位说了一般人认为C++中较为难的东西--指针.其实对于C++,难点当然不局限在指针这玩意儿上,还有一些有趣的概念,如模板类.虚基类.纯虚函数等,这些都是概念性的东西,几乎每一本C++书上 ...

  7. Anaconda下用python调用ArcGIS的arcpy工具包。并解决【import arcgisscripting,DLL load failed: %1 不是有效的 Win32 应用程序】错误

    本人研究了一晚上,终于成功地搭建好了环境,实现了用python的集成开发环境调用ArcGIS的功能,也就是Arcpy工具包,在参考了多个前人发的帖子后发现都不行,最后还是会出现[import arcg ...

  8. PHP程序员开发win32应用程序之梦

    相信做纯WEB开发的PHP程序员都会想过,要是PHP能开发windows本地应用程序多好,于是上网一查找出来的很多都是"PHP-GTK"的老文章,这东西好像已经没人维护了,随便看了 ...

  9. Win32窗口程序实例

    转自:http://blog.csdn.net/earbao/article/details/8638348 <pre name="code" class="cpp ...

最新文章

  1. 一个基于SpringBoot + Mybatis + Vue的代码生成器
  2. PHP获取客户端真实IP的自定义函数
  3. Java程序 实验小全
  4. 为打击网络喷子 Instagram禁评论攻击
  5. iphone导出照片到电脑_如何把 iPhone 中的照片快速传到电脑上?
  6. Echart在Openlayers的应用
  7. Java客户端操作elasticsearch--向索引库添加mappings映射数据
  8. Angular开发模式下的setNgReflectProperties函数
  9. 无法恢复,欧洲云服务巨头数据中心起火
  10. ThinkPHP6项目基操(19.实战部分 Mysql模型事务操作)
  11. windows中mysql添加环境变量_windows 下添加mysql到系统环境变量
  12. [转载]C# WinForm开发系列 - 文章索引
  13. 内存总是不够?HBaseGeoMesa配置优化了解一下
  14. docker 阿里云镜像_Springboot工程制作镜像并推送到阿里云
  15. java跟setattribute,java 中的request.setAttribute和session.setAttribute的区别
  16. 跨界程序员の一 中文GB2312字库下载
  17. (10.13更新--完结)我不是大神(腾讯+京东+网易+阿里+去哪儿网面筋)
  18. 【渝粤教育】广东开放大学 管理会计 形成性考核 (33)
  19. Lipschitz条件
  20. Flask项目之手机端租房网站的实战开发(一)

热门文章

  1. 【转】第一类Stirling数和第二类Stirling
  2. OpenGL ES3 非常好的系列文章
  3. 当个新手很幸福!网络创业之新手小白一样可以吸粉又赚钱
  4. Android gallery详解
  5. Nagios监控linux服务器
  6. UI中的响应时间:3个重要的界限
  7. 为私有Kubernetes集群创建LoadBalancer服务
  8. iOS开发JSON字符串和字典互转
  9. 持久性session连接之memcached高可用方案
  10. Kotlinkotlin二进制与十六进制之间的转化