SharpUpdater:開源的.NET桌面程序自動更新組件

簡  介 網絡

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

 

VS addin screenshot

後  記 資源

2009年,在爲某電商企業作項目時發現ClickOnce存在一個嚴重的缺陷——當網絡狀態很差時(如丟包),更新失敗後不能回滾,重啓程序也不能,只能卸裝重裝。爲了解決此問題,於當年春節開發了此組件。後應用於多個項目,效果良好。 開發

當前穩定版本爲1.0。

開發計劃:

V2.0
增長zip壓縮發佈方式
增長後臺下載更新包,下一次啓動時安裝

做者:CnSharp.com 出處:http://www.cnblogs.com/cnsharp/

相關文章
相關標籤/搜索