c# Winfrom桌面軟件自動升級系統

 

對於開發桌面應用升級應該是我們第一個要考慮的。一般而言一個項目只有一個客戶端,有的時候一個項目可能分好幾個客戶端,前臺客戶端,後臺客戶端。而我在網上找了很久也沒有找到可以同時管理多個客戶端升級的。所以自己一邊學習一邊製作了一個,之前我使用的是oaus自動升級軟件因爲這個通信免費版的只能用10個人。所以自己做的這個大量模仿了oaus。這是他們的網址http://blog.oraycn.com/OAUS.aspx

通信的協議使用的是開源項目NetWorkComms.net。本人測試傳輸1g的文件是沒問題的

對於每個版本只更新了一個兩個文件,以及增加刪除了幾個文件,升級時都可以對應的更新覆蓋,以及刪除客戶端本地的文件

一、服務端介紹

文件的目錄其中FileFolder文件夾是存放部署好的升級文件

 

服務端的配置文件可以設置端口其他的就不需要修改了打開服務端點擊第一個新增項目

輸入項目的名稱,我這裏已DiskGenius爲例

創建成功之後會在列表中顯示,也會在服務端的配置生成這個項目的版本

同時會在FileFolder文件夾中生成這個項目的路徑用來放這個項目的文件,這個時候我們只要把正常客戶端的文件拷貝進去,要注意的是這裏面的路徑什麼的和正常客戶端的都是一樣的

點擊項目的更新會自動掃描目錄下更新了幾個文件,刪除了幾個文件,以及新增了幾個

之後只要有新的文件需要更新拷貝到對應項目的目錄下然後點擊更新按鈕即可

二、客戶端

升級客戶端必須放在我們項目客戶端的根目錄,打包的時候可以帶進去進行打包

客戶端的File文件夾是存放下載好的文件,等所有文件下載完畢之後會進行覆蓋,Temp文件夾是用來緩存下載的文件,Client.ext.config配置文件中要進行配置

在配置文件中配置好服務器ip和端口以及升級完成後要升級的app.還有要配置一下升級的項目名稱,這個項目名稱要與服務端創建的項目名一致這樣子就會下載對應項目的升級文件了當我們啓動自己的程序時可以應用類庫MessageContract.dll中的HasNewVersion.GetIsNewVersion();方法,這個方法返回布爾值確定是否需要升級,如果需要升級可以及在自己的程序中啓動升級程序進行升級

下載完成之後用戶點擊啓動即可啓動自己的應用程序

到此這個升級就完成了。

下載地址鏈接: https://pan.baidu.com/s/1AaAOEpVVxWYSfIdeAiqzvg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章