在線更新系統對於現代軟件來說太重要了,這裏介紹用一家加拿大公司出品的TrueUpdate構建你的升級系統.TrueUpdate是使用lua來應付複雜多變的升級業務。 升級簡單流程是這樣的:運行trueupdate客戶端,下載升級腳本,執行腳本,腳本里面執行下載補丁。
不多說了,直接給出我的方案:
系統規劃:
1.proj1 // 升級項目
sid1 // 升級項目id
client_script // 升級客戶端腳本,基本不會變
current_version
version_id_current // 版本id
server_script_current // 升級服務端腳本,隨着升級,不斷更新
patch_current // 當前補丁,隨着升級,不斷更新
version1
server_script1
patch1
version2
server_script2
patch2
目錄結構(ftp://192.168.1.134/true_update):
update_client.exe
sid_version_id_client_script.tu
sid_version_id_server_script.tu
sid_version_id_patch.zip
.......
proj2 (sid2)
....
升級流程:
程序啓動;
if ( current_version < server_version )
{
調用update_client.exe;
執行下載sid_version_id_server_script.tu;
運行sid_version_id_server_script.tu;
下載補丁id_version_id_patch.zip;
current_version = server_version;
提示用戶升級成功;
}
正常啓動;
表結構:
create table proj
{
sid,
client_script,
version_id_current, // 版本id
};
create table version
{
sid,
version_id,
script_server,
patch
}
get_latest_version.aspx(client_sid)
{
select version_id_current from proj where sid=clent_sid;
return version_id_current;
}