InstallShield內部庫函數
1 庫函數綜述
InstallShield包含300多個內部庫函數,用戶可在安裝腳本中調用它們來創建程序組,操作文件夾,處理目錄,監督安裝狀態,創建對話框,操作文件及其它更多工作。因為InstallShield腳本編譯器已經識別這些庫函數名,所以用戶在使用它們之前無須說明。
為了成功調用一個內部庫函數,用戶必須知道庫函數名稱及使用格式。InstallShield 庫函數參閱附錄D庫函數索引。在接下去的幾節中我們將對其中主要的一些庫函數作詳細介紹。在這里先簡單向用戶描述一下庫函數的構成。
如:AskYesNo是一個庫函數,它在對話框中顯示一個詢問,然后等待最終用戶通過點擊按扭來響應,Yes或No。AskYesNo格式如下: AskYesNo(szQuestion,nDefault)。這個格式顯示了正確的函數名,括號中顯示了函數的參數列表。在函數的詳細說明幫助中,每個參數用匈牙利標記法表示,指出每個參數位置上可被接受的數值類型。AskYesNo要求兩個參數:第一個是字符類型,第二個是數值型。
與C語言一樣,InstallShield區分大小寫,因此用戶要嚴格注意庫函數名稱中大寫字母。
在用戶的腳本中使用任何庫函數,傳遞的參數數目一定要正確,并且要確保傳遞的每個參數值符合該位置規定的類型。如果用戶傳遞了錯誤的參數數目或者在任何一個或幾個參數位置傳遞了不相符的數值類型,腳本都不能被編譯。
注意:
.作為參數傳遞的字符串必須包括在單引號或者雙引號內。
如:“Please wait while files are transferred”,或‘This is a string’或“c:\Myfolder\myfile.txt”
.InstallShield 不允許將一個賦值語句作為參數傳遞。另外,用戶在一個函數變量中不能使用&&或||運算符。
.由一個調用傳遞給一個函數的可變長字符串變量在被調用函數中不能自變長。如果函數試圖賦一個值,該值的長度超過參數的現有長度,則會發生401運行錯誤。為避免這個錯誤,在調用將字符串傳遞給一個函數時就要為字符串指定一個特定長度。
2 用戶界面函數
用戶界面函數允許用戶自定義特定的錯誤信息及錯誤框標題。然而,一些在安裝開發中遇到的內部錯誤信息是不能由用戶界面函數來修改的。這部分主要對用戶界面函數的語法、描述、參數等作詳細說明。
2.1 Disable函數
語法:Disable(nConstant)
說明:Disable函數使由參數nConstant指定的用戶界面對象或安裝特性無效。
參數:
nConstant
指定用戶界面對象或可操作特性使其無效,在這個參數位置傳遞下列預定義常量之一:
BACKBUTTON:使在一些內部對話框中顯示的Back按鈕無效(即使其變灰顯示),Back按鈕缺省置為有效。
BACKGROUND:使安裝主背景窗口無效且隱藏。注意:當安裝處于全屏幕方式時該參數不起作用。
BILLBOARD:在安裝過程中取消布告板的顯示。
DIALOGCACHE:使對話緩沖機制無效。有關對話緩沖的詳細說明,請參閱Enable。
HOURGLASS:使光標由一個“忙”光標(缺省為沙漏光標)改變為標準光標(缺省為一個指針)。
INDVFILESTATUS:使路徑及文件名在文件傳輸時不顯示在進度指示器(狀態條)中。
LOGGING:不記錄卸載信息,使信息不記錄在卸載日志文件中。注意:記錄功能由函數DeinstallStart自動置為有效。在調用DeinstallStart
|
|