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 > < ReleaseVersion >1.1.0.0</ ReleaseVersion > < ShortcutIcon >demo.ico</ ShortcutIcon > < UpdateDescription > <![CDATA[1.new feature 2.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压缩发布方式
增加后台下载更新包,下一次启动时安装
作者:CnSharp.com
本文版权归CnSharp.com和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.