简 介 网络
SharpUpdater是一个开源的.NET Windows桌面程序自动更新的组件。它提供一个启动程序在主程序启动时检测最新版本并升级。此外,还提供了一个VS插件生成配置清单。 ui
工做原理 插件
依赖于一个发布清单的XML配置文件(咱们称之为ReleaseList),经过对比客户端和服务端的ReleaseList,计算出须要更新的文件,而后逐一下载覆盖本地客户端程序文件或资源文件。 code
配置文件示例: xml
<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 feature 10.2.updte 11.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>
效果图 blog
ReleaseList Builder 图片
这是一个VS插件,执行编译并根据Build出的文件一键生成发布清单。 ip
后 记 资源
2009年,在为某电商企业作项目时发现ClickOnce存在一个严重的缺陷——当网络状态很差时(如丢包),更新失败后不能回滚,重启程序也不能,只能卸装重装。为了解决此问题,于当年春节开发了此组件。后应用于多个项目,效果良好。 开发
当前稳定版本为1.0。
开发计划:
V2.0
增长zip压缩发布方式
增长后台下载更新包,下一次启动时安装
做者:CnSharp.com 出处:http://www.cnblogs.com/cnsharp/