InstallShield 教程__InstallShield

來源:互聯網
上載者:User

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/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.