C#Winform程序實現軟件自動更新-源碼展示

週末閒來無事,作為一名工作有四年經驗的程序猿,突然想寫了一個軟件自動更新的功能,下面將詳細實現步驟給大家展示一下,程序中有部分方法或者變量可能會存在重複使用,有冗餘的地方,自己可適當優化!話不多說了,先看一下視頻效果吧!

PS:本人主要做B/S,C/S項目做得少,有問題的大家見諒啦 - -

一、軟件開發環境以及開發工具:

框架:.NET Framework 4.0

工具:Visual Studio 2017

插件:DevExpress 18.1.7

環境:IIS 7

二、實現步驟

(1)在項目中創建一個名為WinformAutoUpdate.APP的Winform窗體應用工程,並將默認的Form1.cs窗體文件重命名為MainFrm.cs作為主程序窗體

C#Winform程序實現軟件自動更新-源碼展示

創建主程序窗體

(2)在項目中再創建一個名為AutoUpdateTask的Winform應用程序工程,並將默認的Form1.cs窗體文件重命名為AutoUpdateTaskFrm.cs作為更新程序窗體

C#Winform程序實現軟件自動更新-源碼展示

創建更新程序窗體

(3)在更新程序窗體中放入圖上所示的相關控件;

進度條控件用於顯示更新進度,放入一個Button按鈕控件用於用戶根據提示進行操作!

實現思路:

1、將更新程序放入磁盤的目錄下面,並將其放在已經發布了的IIS中,如下圖:

C#Winform程序實現軟件自動更新-源碼展示

發佈更新文件到IIS

當用戶在運行主程序窗體並點擊左上角的更新按鈕時,彈出程序更新窗體,並先自動從IIS中拉取updateList.xml文件,然後與本地程序作對比,檢測是否需要升級軟件;

如果有新版本發佈,則點擊“立即更新”按鈕,程序將從IIS中拉取新發布的ZIP軟件包,並自動解壓到主程序目錄中,覆蓋主程序目錄中的相關文件(這裡值得注意的是,在解壓程序之前,我們需要先結束主程序的進程,不然會因主程序進程正在使用而導致報錯,另外,我們用到的插件是ICSharpCode.SharpZipLib.dll第三方動態鏈接庫,網上有現成的,可以直接Down下來用);

C#Winform程序實現軟件自動更新-源碼展示

發現新版本,更新程序

2、點擊“更新完成”按鈕後,重啟主程序

C#Winform程序實現軟件自動更新-源碼展示

升級完成之後的界面

3、升級後的主程序界面

C#Winform程序實現軟件自動更新-源碼展示

升級後的主程序界面

4、上面窗體實現代碼如下:

C#Winform程序實現軟件自動更新-源碼展示

第一屏

C#Winform程序實現軟件自動更新-源碼展示

第二屏

C#Winform程序實現軟件自動更新-源碼展示

第三屏

C#Winform程序實現軟件自動更新-源碼展示

第四屏

程序的實現代碼如上面圖片所示,本人幾乎每行都加了註釋,這裡再不做詳細介紹!本次程序的自動升級功能介紹完畢,可能肯定會有更好的實現方法,可在下方評論,這個僅作為初學者參考,有需要源碼的請在評論區扣1,我將私信給友友向您索取電郵,將源代碼無償發送給您參考!


分享到:


相關文章: