在使用應用程序的時候每隔幾天就會出現需要更新的提示,讓人煩不勝煩,然而不更新又使用不了最新的工具,這個時候我們就需要給自己的程序加上自動升級功能。.Net Framework自帶的ClickOnce中有自動升級的功能,但是往往不太好用,比如必須用ClickOnce發布,安裝的文件夾一個版本一個等等,我們會想要一個比較簡單、甚至綠色軟件也能使用的自動升級功能,這個自動升級程序就是基於這個目的而製作的。
整個工具分成兩部分,一部分是供用戶使用的類庫,一部分是用於生成更新包的工具。
基於 .Net 3.5 開發,原則上最好安裝有此版的 .netFramework。特殊情況下,可以僅安裝 .Net Framework 2.0SP1,發布的時候附帶上 System.Core.dll 即可正常運行。
作為一個簡單的升級需求,不需要很複雜的設置。
需要填寫如下信息:
應用程序名
當前的版本(也就是更新後的版本)
發布地址可選(如果填寫了,在更新提示框上會有個鏈接可以鏈接到這個網址)
新程序目錄(選擇最新版本程序的發布目錄,在版本 1.5.0.0 之後你可以直接從資源管理器中拖放目標文件夾到目錄的文本框來快速選擇了!)
升級包路徑:選擇一個路徑用來保存升級包(*.zip),同時自動更新信息 *.xml 也會保存在這個目錄下
更新前執行:在下載完成、即將安裝更新前會執行這裏選擇的程序。這裏有點BUG一旦選擇了就不能取消,所以請注意下;
更新後執行:在安裝完成後、即將退出前執行的操作。需要注意的BUG同上。通常選擇需要運行的主程序。
執行時間限製:用於限製6中選擇的程序的執行時間,超過設置的時間後進程將會被強行結束。
更新說明:用於提示更新的時候顯示的文本消息內容。
創建:按照填寫的信息生成升級包
打開:打開一個已有的升級信息文件,用於下次更新版本時直接修改信息即可,其它的不需要變化(在1.5.0.0之後,你可以通過直接拖放以前保存的升級XML文件到窗體上直接打開了!)。
更新時刪除原始文件:默認情況下僅覆蓋新文件。但是你可以設置更新之前刪除應用程序目錄所有文件,或刪除指定文件。
支持更新的最低版本:指定支持更新的最低版本,低於此版本的軟件將會提示手動更新
升級文件包密碼:可以設置一個密碼,用來加密生成的壓縮包
4.2.1版本
提升使用匿名FTP作為服務器地址進行更新的兼容性
4.2.0版本
增加組件ID檢測事件
增加同步檢測更新以及任務檢測更新方式
增加“不存在則跳過”的文件更新邏輯
修正下載時進度顯示的bug
變更當前主程序模塊以及信息監測方式
變更行為,最低版本達不到要求也視作錯誤
部分邏輯調整,提升特定情況下檢測更新的速度
76.4M / 03-25
55M / 06-05
237.9M / 04-13
140.5M / 03-06
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
353.9M / 06-05
131.8M / 04-13
230.8M / 03-03
195.6M / 03-03
165.4M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
325.8M / 06-07
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
110.5M / 04-23
26.7M / 03-16
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
201.2M / 04-13
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
9.48G / 07-06
50KB / 07-06
116.2M / 04-10
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
509.7M / 07-06
561.8M / 07-11
1.32G / 01-19
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06