zoukankan      html  css  js  c++  java
  • SharpUpdater:开源的.NET桌面程序自动更新组件

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

    简  介

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

    工作原理

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

    配置文件示例:

       <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
       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出的文件一键生成发布清单。

    VS addin screenshot  

    后  记

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

    当前稳定版本为1.0。

    开发计划:

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

    1、安装TFS插件

     Team Foundation Server MSSCCI Provider

    2、启用TFS插件

    3、创建SQL Project

    4、现有SQL添加到项目

    作者:CnSharp.com
    本文版权归CnSharp.com和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    只用一个字节 计算象棋将帅之间可能的位置
    后缀数组学习
    java 构造不可变类集的使用方法
    topcoder SRM 639 div2
    navicat和pymysql
    表查询
    表的关系对应
    MySQl数据类型和条件限制
    复习之网络编程
    协程
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2438269.html
Copyright © 2011-2022 走看看