?? 制作規范化安裝程序的基本方法.txt
字號:
作者:pp.boy
email: pp.boy2001@163.net
日期:2001-5-22 0:05:14
當你完成一個應用軟件的開發后,如果你的軟件不是那種“綠色”產品,那么你還需要為分發該軟件而做一個規范化的安裝程序。這是使你的軟件“走向世界”所不可缺少的一步。
一般而言,一個規范化的安裝程序應該滿足以下幾個條件:
1.只需安裝一次。也就是安裝完后,用戶不用進行其它的設置就能使用你的軟件。(應用軟件內部的參數設置是另一回事)。
2.要保證目標盤上“簡潔、干凈”。就是說你的安裝程序能根據用戶所選擇的功能,僅安裝所需的部分,不把多余的文件復制到用戶的目標盤上,特別是不向注冊表中添加無用的信息。
3.要保證對注冊表的正確使用,注冊表實際上是一個Windows的系統數據庫,所有應用軟件都可用它存儲一些必要的信息,例如用戶注冊信息、類的注冊、系統配置信息等,但對注冊表使用不當,就會導致系統性能的降低。
4.安全性。安裝程序應具備對已安裝系統進行必要檢查的能力,同時還應具有卸載功能,讓用戶可以根據自身的需要卸載你的軟件。在做這些的同時,還不應影響其他應用軟件的正常運行;
下面介紹一下滿足以上條件的安裝程序的實現方法。
1.保證安裝的一次性
要保證安裝的一次性,在安裝時就必須在用戶端建立、配置一個完整的系統應用環境。不管你的應用軟件在開發中使用了何種開發工具,在開發過程中需要什么開發環境,但是作為用戶,他們沒有必要安裝這種開發環境,所以安裝程序只需為用戶配置你的應用軟件所需的環境即可。
2.保證安裝后的“簡潔、干凈”
要保證安裝的“簡潔、干凈”,就必須動態地記錄下用戶的安裝需求(由用戶在安裝過程中選擇),再根據用戶的需要動態地安裝并配置你的應用軟件。這里以InstallShield制作安裝程序為例作一說明。該程序提供了三種安裝方式:簡潔、典型、定制。通過設置不同安裝類型(定制類型由用戶選擇)中所包含的文件組來安裝特定的文件。如果要處理注冊表等其他信息,還須用Scripts程序實現。以下程序就可以判斷用戶選擇了哪些組件:
function DialogShowSdComponentDialog2()
NUMBER nResult;
STRING szTitle, szMsg;
STRING szComponent, szInfo;
NUMBER nzInfo;
STRING szString;
begin
if ((svSetupType != "Custom") && (svSetupType != " ")) then
//如果用戶沒選擇定制類型,此時要安裝的組件是事先知道的,所以可以直接進行相應的系統配置與注冊。
return 0;
endif;
szTitle = " ";
szMsg = " ";
nResult = SdComponentDialog2( szTitle, szMsg, svDir, " " );
//如果用戶選擇了定制類型,所以就必須檢查用戶的選擇,再做相應配置與注冊。
szComponent = "Manager Files";
nResult = ComponentGetData( MEDIA, szComponent, COMPONENT-FIELD_SELECTED,nzInfo, szInfo );
if nzInfo = 1 then
//這里是一段用戶選擇了"Manager Files"組件后的配置代碼。
else
bManager = FALSE;
endif;
//依此類推,編寫相應組件的處理代碼。
return nResult;
end;
3.要保證對注冊表的正確使用
大多數應用程序都在注冊表中存儲了一些信息,但這必須符合要求,這樣既對管理有利,又不會導致注冊表的過分龐大,從而影響系統性能。一般應用程序的信息放置位置應符合如下的要求:
[HKEY-CURRENT-USER\Software\(軟件開發商名稱)\(產品名稱)\(信息類別)]或[HKEY-LOCAL-MACHINE\Software\(軟件開發商名稱)\(產品名稱)\(版本號)\(信息類別)]。
只有符合這些要求,你才能制作出一個規范化的安裝程序,它對你的應用軟件“走向世界”極有幫助。
4.保證安裝的安全性
在考慮安裝的安全時,應了解你的應用軟件的支持環境及動態鏈接庫共享等問題。對于一個大型的應用系統,往往包含了多個模塊,它們可能同時安裝在同一臺計算機上,而這臺計算機上還可能已經或將要安裝一些其它的應用系統,這就必須保證這套應用軟件的安裝與卸載不會影響其他系統的正常運行。具體做法,就是保證多個模塊共同使用的文件必須共享,Windows會對這些文件進行引用計數,只有在這些文件引用計數為0時才能將它們卸載,系統的共享文件清單可在注冊表中的[HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs]目錄下找到。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -