天天看點

C# 實作用戶端程式自動更新

看到一篇不錯的文章,可能以後會用到,果斷收藏

文章來源 部落格園 jenry(雲飛揚)http://www.cnblogs.com/jenry/archive/2006/08/15/477302.html

由于微軟提供的更新程式使用不友善,是以又寫了此程式。此程式是本人一年前所寫的一段程式,當時在開發一個CS版本報價系統,當時由于開發過程倉促,代碼可能有點不是太規範此程式編譯後隻有一下AutoUpdate.exe檔案與一個配置檔案UpdateList.xml,主要通過本地程式與服務端程式檔案的版本号來更新與更新本地程式檔案。

UpdateList.xml檔案内容如下:

<?xml version="1.0" encoding="gb2312"?>

<AutoUpdater>

  <description>Application autoUpdate</description>

  <Updater>

 <Url>http://10.0.5.98/SoftUpdate/</Url>

 <LastUpdateTime>2005-09-05</LastUpdateTime>

  </Updater>

  <Application applicationId="ItemSoft">

    <EntryPoint>ItemSoft.exe</EntryPoint>

    <Location>.</Location>

 <Version>1.0.0.0</Version>

  </Application>

  <Files>

    <File Ver="1.0.0.0" Name="ItemSoft.exe" />

    <File Ver="1.0.0.0" Name="Reports\test.txt"/>

    <File Ver="1.0.0.0" Name="Interop.grproLib.dll"/>

    <File Ver="1.0.0.0" Name="Reports\test.grf"/>

  </Files>

</AutoUpdater>

說明:

<description></description>     程式的描述;

<Url></Url>                            更新伺服器位址,為一個虛拟目錄或站點路徑;

<EntryPoint></EntryPoint>      需要更新主程式檔案,為exe;

 <Location>.</Location>         需要更新主程式檔案所在路徑;

<Version>1.0.0.0</Version>   主程式版本号;

  <Files> </Files>                     需要更新的檔案清單;Ver:檔案版本号,Name:檔案名,包括路徑(相對);

使用時,在更新伺服器上建立Web虛拟目錄或站點,然後将需要更新的檔案與UpdateList.xml放在上面;

本地将AutoUpdate.exe與UpdateList.xml放在主程式的根目錄下。本地UpdateList.xml中的版本号如果小于服務端,自動程式會自動下載下傳所需要更新的檔案。

本人的完整.Net打包程式下載下傳中所帶的項目中,就使用了此更新程式。

源碼下載下傳:/Files/jenry/AutoUpdate.rar

二進制檔案下載下傳:/Files/jenry/bin.rar

生成配置檔案UpdateList.xml工具:/Files/jenry/AULWriter1.0.rar (由whatisgood 提供,感謝!!)New