SharpUpdater开源了!
http://sharpupdater.codeplex.com/

简  介

SharpUpdater是一个开源的.NET Windows桌面程序自动更新的组件。它提供一个启动程序在主程序启动时检测最新版本并升级。此外,还提供了一个VS插件生成配置清单。

工作原理

依赖于一个发布清单的XML配置文件(我们称之为ReleaseList),通过对比客户端和服务端的ReleaseList,计算出需要更新的文件,然后逐一下载覆盖本地客户端程序文件或资源文件。

配置文件示例:

<ReleaseList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ApplicationStart>demo.exe</ApplicationStart><AppName>Demo</AppName><MinVersion>1.0.0.0</MinVersion><ReleaseDate>2011/9/23 9:25:24</ReleaseDate><ReleaseUrl>http://host/demo/</ReleaseUrl><ReleaseVersion>1.1.0.0</ReleaseVersion><ShortcutIcon>demo.ico</ShortcutIcon><UpdateDescription><![CDATA[1.new feature2.updte
3.bug fix]]></UpdateDescription><Files>      <ReleaseFile><FileName>log4net.dll</FileName><ReleaseDate>2011/8/19 9:04:38</ReleaseDate><FileSize>182</FileSize></ReleaseFile>      <ReleaseFile><FileName>Demo.exe</FileName><ReleaseDate>2011/9/23 9:25:21</ReleaseDate><FileSize>1798</FileSize></ReleaseFile></Files>
</ReleaseList>

效果图

ReleaseList Builder

这是一个VS插件,执行编译并根据Build出的文件一键生成发布清单。

  

后  记

2009年,在为某电商企业做项目时发现ClickOnce存在一个严重的缺陷——当网络状态不好时(如丢包),更新失败后不能回滚,重启程序也不能,只能卸装重装。为了解决此问题,于当年春节开发了此组件。后应用于多个项目,效果良好。

当前稳定版本为1.0。

开发计划:

V2.0
增加zip压缩发布方式
增加后台下载更新包,下一次启动时安装

转载于:https://www.cnblogs.com/cnsharp/archive/2012/04/06/2435336.html

SharpUpdater:开源的.NET桌面程序自动更新组件相关推荐

  1. 应用程序自动更新组件GeneralUpdate3.2.1发布

    GeneralUpdate开源组件更新公告 一.组件简介 GeneralUpdate是基于.net standard开发的一款(c/s应用)自动升级程序.该组件将更新的核心部分抽离出来方便应用于多种项 ...

  2. 使用GeneralUpdate实现.NET客户端程序自动更新

    .NET客户端程序自动更新 当我们在日常开发中编写的客户端程序需要部署在多台主机上时,如果程序需要升级,那么一台台升级会非常麻烦,此时就可以使用本文的.NET客户端程序自动更新技术. 本文所述的自动更 ...

  3. Android 程序自动更新功能模块实现

    2019独角兽企业重金招聘Python工程师标准>>> Android 程序自动更新功能模块实现 在程序启动的时候检测服务器上有没有对应版本更新,如果有更新,提示用户是否更新. 在程 ...

  4. android自动更新demo,Android程序自动更新功能模块的实现方法【附完整demo源码下载】...

    本文实例讲述了Android程序自动更新功能模块的实现方法.分享给大家供大家参考,具体如下: 在程序启动的时候检测服务器上有没有对应版本更新,如果有更新,提示用户是否更新. 在程序启动的时候首先调用更 ...

  5. 一起谈.NET技术,自动更新组件分享

    一. 摘要 前两天在博客上发布了一篇英文的自动更新组件文章Release a AutoUpdater tool,那么在这篇文章中,我们也对其功能进行一些简单说明,这个组件非常简单,所以大家可以下载进行 ...

  6. Winform自动更新组件分享

    作者:圣殿骑士  出处:http://www.cnblogs.com/KnightsWarrior/  关于作者:专注于微软平台项目架构.管理和企业解决方案.自认在面向对象及面向服务领域有一定的造诣, ...

  7. 客户端程序自动更新(升级)的方式

    from:https://blog.csdn.net/woaitingting1985/article/details/72954652 一.C/S自动更新原理 C/S程序自动升级是一个很重要的功能, ...

  8. 用计算机升级ipad系统软件,iPad怎么设置软件程序自动更新?

    现在各种软件也是推陈出新,为了适应最新的系统.潮流,每隔一段时间都会有更新.不想错过的朋友,可以在你的iPad上设置自动更新. 1.看到iPad上面的app store常年有个右上角的数字,强迫症的人 ...

  9. winform发布(应用程序自动更新)、不允许跳过升级

    今天给大家分享一下winform利用visual studio进行发布程序进行自动更新,在日常开发工作中当程序新增功能之后我们需要对程序进行升级,那么怎么让程序自动检测自动升级呢,下边一块学习一下. ...

最新文章

  1. python经典练习题
  2. poj3581Sequence(后缀数组)
  3. PRML-github code使用两个小攻略
  4. YunYang1994/tensorflow-yolov3 IndexError: list index out of range 解决办法
  5. 利用Linux命令行进行文本按行去重并按重复次数排序yes
  6. SAP WM The Link Between TR and TO Document
  7. linux apache目录权限配置,Linux下Apache网站目录读写权限的设置
  8. section怎么制造图框_cad中如何制作带属性块的图框 - CAD自学网
  9. java 财付通支付_工商变更:马化腾卸任财付通支付科技有限公司法定代表人
  10. Spring Boot加载指定属性文件
  11. 终端发送自己的短地址给协调器
  12. MySQL 去重SQL
  13. android google 地图路线图,Android中如何调用google地图生成路线图
  14. 简单的安卓网络音乐视频播放器app
  15. oracle列转行用逗号隔开,Oracle逗号分隔列转行实现方法
  16. (已解决)Android Studio 模拟器连接不上问题
  17. matlab函数equalize
  18. 人像分割之ExtremeC3Net
  19. JCenter挂掉后的解决方案
  20. 电子产品可靠性测试费用及检测项目流程

热门文章

  1. python 学习之 PythonAdvance2
  2. Cesium 创建Geometry
  3. 低版本系统兼容的ActionBar(四)添加Tab+添加自定义的Tab视图+Fragment
  4. 微软企业库配置工具菜单Edit Enterprise Library V5 Configuration
  5. postfix邮件系统经典退信
  6. Exchange2003-2010迁移系列之六,配置及配置第二台Exchange CAS/HUB服务器
  7. B.Sport Mafia
  8. 【DB2】db2命令Export与Import
  9. 二维“有序”数组查找问题
  10. linux下的find文件查找命令与grep文件内容查找命令(转)