C S軟體的自動公升級部署

2021-09-07 09:06:36 字數 2332 閱讀 9535

公升級的原理有好幾個,首先無非是將現有版本與最新版本作比較,發現最新的則提示使用者是否公升級。當然也有人用其它屬性比較的,例如:檔案大小,或者更新日期。而實現的方法呢?

在.net時代,我們就有了更多的選擇,可以使用webrequest,也可以使用web service。在這裡我們將用web service來實現軟體的自動公升級。實現原理:在web service中實現乙個getver的webmethod方法,其作用是獲取當前的最新版本。然後將現在版本與最新版本比較,如果有新版本,則進行公升級。步驟如下:

1.準備乙個作為公升級模板用的xml檔案(update.xml)。

<?xml version="

1.0" encoding="

utf-8

" ?>

1.0.1818.42821

修正一些bug"4

" sourcepath="

./update/

">

"city.xml

" size="">

"" size="">

"interop.shdocvw.dll

" size="">

"citys.xml

" size="">

view code

2.web service的getver方法。

[webmethod(description="

取得更新版本")]

public

string

getver()

3.web service的getupdatedata方法。

[webmethod(description="")]

[soapheader(

"sheader")]

public

system.xml.xmldocument getupdatedata()

return

doc;

}

view code

4.在客戶端進行的工作。

首先引用此web service,例如命名為:websvs

string nver = start.getservice.getver(); 

在本**中start.getservice是websvs的乙個static例項。

首先檢查版本,將結果與當前版本進行比較,如果為新版本則執行update方法。

void

update()

5.update.exe的內容

private

void form1_load(object

sender, system.eventargs e)

}xmldocument doc = new

xmldocument();

\update.xml");

xmlelement root =doc.documentelement;

xmlnode updatenode = root.selectsinglenode("

filelist");

string path = updatenode.attributes["

sourcepath

"].value;

int count = int.parse(updatenode.attributes["

count

"].value);

for(int i=0;i)

label1.text = "

更新完成";

\update.xml");

label1.text = "

正在重新啟動應用程式...";

system.diagnostics.process.start(""

); close();

}

view code

這個**也很容易懂,首先就是找到主程序,如果沒有關閉,則用process.kill()來關閉主程式。然後則用乙個xmldocument來load程式生成的update.xml檔案。用xml檔案裡指定的路徑和檔名來生成指定的檔案,在這之前先前已經存在的檔案刪除。更新完畢後,則重新啟動主應用程式。這樣更新就完成了。

總結:從這個例項看來,web service的工作是很簡單的,也是很容易實現的。好好的使用web service能夠為我們的程式帶來很多新的,強的功能。總而言之,.net是易用的,強大的語言。

參考文章

在winform中使用web service來實現軟體自動公升級

C S程式自動公升級

c s程式自動公升級是乙個很重要的功能,原理其實很簡單,一般包含兩個程式乙個是主程式,也就是除了公升級功能以外的程式,另乙個就是公升級程式,常見的360,金山安全衛士都是這樣。一般服務端會有乙個配置檔案包含最新更新的檔案資訊的配置檔案,當然這些更新資訊也可以存到資料庫,或者其他地方。客戶端 也就是需...

CS架構客戶端軟體公升級方案

目的 概念 u 整包公升級 軟體功能進行了大範圍的變更,主版本號發生變化,客戶端需要重新安裝。u 補丁包公升級 軟體修復部分bug,功能進行了小範圍調整或變更。u 檔案公升級 軟體的個別檔案進行了細微的調整或bug修復,為最小粒度軟體公升級。框架 客戶端主要由公升級管理主程式和提供公升級功能的底層支...

部署Zabbix自動化監控軟體

zabbix自動監控軟體,基於多中監控機制,支援分布式監控 zabbix簡介 zabbix是乙個高度整合的監控方案 可以實現企業級的開源分布式監控 zabbix通過c s模式採集監控資料 zabbix通過b s模式實現web管理 16k 快取php生成的頁面內容,8個16k fastcgi buff...