InstallShield多語言安裝包中如何擷取使用者選擇的安裝語言
初次安裝:Not Installed
修改,修複或刪除:Installed
刪除(卸載):REMOVE
維護或修複:Installed AND Not REMOVE
小版本升級:IS_MINOR_UPGRADE
大版本升級:IS_MAJOR_UPGRADE
上述適用於InstallShield的Basic MSI工程和InstallScript MSI工程。
InstallShield工程中如何識別初次安裝,維護模式和卸載
Basic MSI工程,通過Condition確定安裝模式: 第一次安裝:Not Installed 修複維護:Installed 卸載:REMOVE=“ALL”
注意:InstallScript MSI工程裡的Condition也同Basic MSI工程
InstallScript工程:
通過系統變數MAINTENANCE來判斷,在第一次安裝,該變數值為FALSE;如果是修複維護或卸載,則該變數值為TRUE。
比如代碼可以這樣寫: if (!MAINTENANCE) then // 這次運行第一次安裝的執行代碼 endif; InstallScript工程中如何在使用者協議介面中預設為接受協議
使用者協議介面有六個對話方塊可用,它們分別是:SdLicense,SdLicense2,SdLicenseEx,SdLicense2Ex,SdLicenseRtf和SdLicense2Rtf。
我們修改的方法是利用上述對話方塊中的一個布爾類型的參數,具體位置各函數不一致(其中SdLicense和SdLicenseRtf沒有此參數)。
在InstallShield 2010中,修改方法如下: - SdLicense其實調用的是SdLicenseEx,可指定SdLicenseEx的最後一個參數為TRUE。
- SdLicense2調用的是SdLicense2Ex,可指定第五個參數為TRUE。
- SdLicenseEx直接指定第四個參數為TRUE。
- SdLicense2Ex直接指定第五個參數為TRUE。
- SdLicenseRtf調用的是SdLicenseEx,可指定SdLicenseEx的第五個參數為TRUE。
- SdLicense2Rtf調用的是SdLicense2Ex,可指定SdLicense2Ex的第五個參數為TRUE。 InstallShield中Basic MSI工程類型如何調用InstallScript指令碼
A. 首先在Installation Designer/Behavior and Logic/InstallScript視圖中,選中Files點擊滑鼠右鍵選擇“New Script File”,預設會產生一個setup.rul的檔案,並有一個MyFunction的函式宣告和。
B. 之後我們在MyFunction函數內添加一行代碼:MessageBox("MyFunction", INFORMATION); 當然,你也可以修改函數名,用更有實際意義字串代替。
C. 在Installation Designer/Behavior and Logic/Custom Actions and Sequences視圖中,選中頂端的Custom Actions點擊滑鼠右鍵選擇“Custom Action Wizard”(這裡的Custom Action我們經常也簡稱為CA),下面按著嚮導逐步說明。 第一個介面是Custom Action Wizard歡迎介面。 在第二個Basic Information介面中,選擇CA的Name,而Comment可忽略。 在第三個Action Type介面中,在Type的下拉式功能表中選擇Run InstallScript Code。(這裡你會發現你可以通過CA調用Managed 程式碼,其他可執行程式,以及JScript,VBScript等) 在第四個Action Parameters介面中,在Source的下拉式功能表選擇的MyFunction。(如果指令碼Setup.rul中你有多個函式宣告,你會發現都會顯示到下拉式功能表中) 之後的介面都按照預設設定,直到點擊Finish結束。 D. 在同一樹狀結構中,Sequences/Installation/Execute,選中Execute點擊滑鼠右鍵選擇Insert,你會看到在C中你添加的CA,選中你的CA,然後設定Condition。(注意如果是想在安裝時執行:Not Installed;如果是卸載執行:Installed)
E. 有關我們的CA在Sequence中的位置, 可根據情況調整位置。
CA可以在Sequence中被調用,也可以在各個Dialog中被調用執行。 InstallShield學習網站推薦
InstallShield工具的學習也是一個漸進的過程,求人不如求己,所以給大家推薦幾個好去處。
http://community.flexerasoftware.com/ 這是原廠的技術論壇,自然也是最好的,只是有些朋友可能會覺得英文網站不方便。
http://kb.flexerasoftware.com/ 原廠的知識庫,如果深入研究,你會愛上她的。
http://www.appinstall.cn/,新的中文安裝打包網站,還不錯,只是目前註冊使用者不多,之前的Jarson中文論壇不知什麼原因已經關閉。
另外推薦幾個朋友的Blog
Stefan Krueger http://msmvps.com/blogs/installsite/default.aspx
Rod Maupin http://www.installationdeveloper.com/
海洋女神 http://www.cnblogs.com/Cindy_weiwei
奕婷 http://www.cnblogs.com/sabrinahuang/
轉載:http://www.cnblogs.com/installshield/