程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 如何讓程序自動更新,程序自動更新

如何讓程序自動更新,程序自動更新

編輯:C#入門知識

如何讓程序自動更新,程序自動更新


        自動更新的軟件的目的在於讓客戶不在為了尋找最新軟件花費時間。也不用去到開發商的網站上查找。客戶端的軟件自動會在程序啟動前查找服務器上最新的版本。和自己當前軟件的版本比較,如果服務器的是最新版本。客戶端則進行自動下載、解壓、安裝。當然了下載是要有網絡的,並且用戶可以根據提示去完成操作。再也不用為找不到最新版本的軟件而頭疼。下面是我的大體思路,已經得到了實現:

       1、  寫一個webservice,提供一個獲取服務器xml中版本的數據的方法。(也可用其他文件格式, 此處舉例XML)

       2、  在WinForm應用程序啟動的時候,首先訪問webservice獲取服務器的xml中的版本號,然後獲取客戶端的xml中的版本號。將兩個版本號比較,若服務器中的版本號大,則提示提示可以在線更新應用程序。

       3、  然後客戶端自動下載網絡上的RAR壓縮包到本機的指定位置,進行自動解壓縮。解壓縮完畢之後,用進程打開所解壓過的exe文件進行軟件安裝。同時關閉客戶端軟件所在的進程。

  一   web項目中的代碼

       首先我給大家先展示下我的web項目中的webservice的代碼,這裡面跟簡單,只有一個方法。項目需要發布到IIS上面。

     1.1 webservice中的代碼

          

[STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); LoadMath(); } private static void LoadMath() { //服務器上的版本號 string NewEdition = string.Empty; //應用程序中的版本號 string OldEdition = string.Empty; try { //獲取webservice上的版本號 myService.WebServiceUpdateSoapClient c = new myService.WebServiceUpdateSoapClient(); NewEdition = c.GetEdition("clkj_ws"); } catch (Exception ex) { MessageBox.Show(ex.Message); } try { //獲取系統中xml裡面存儲的版本號 XDocument document = XDocument.Load("XMLEdition.xml"); XElement element = document.XPathSelectElement("Content/Project/Edition"); if (element != null) { OldEdition = element.Value.ToString(); } } catch (Exception exx) { MessageBox.Show(exx.Message); } double newE = double.Parse(NewEdition); double oldE = double.Parse(OldEdition); //比較兩個版本號,判斷應用程序是否要更新 if (newE > oldE) { //更新程序¨° DialogResult dr = MessageBox.Show("發現新的版本是否要更新該軟件", "系統提示?", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (dr == DialogResult.OK) { //打開下載窗口 Application.Run(new DownUpdate ()); } else { //若用戶取消,打開初始界面 Application.Run(new Login()); } } } View Code

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved