InstallShield2010 Basic MSI Project 學習筆記

一、創建 Basic MSI Project

二、切換到 Project Assistant 選項卡

三、在 Appliction Information 界面進行基本內容的填寫,包括公司名稱、應用名稱、應用版本號及公司網址信息,最後是指定你的應用在控制面板中顯示的圖標。

四、跳過 Installation Requirements 和 Installation Architecture 界面,到 Application Files 界面。

在這界面中選擇應用中用到的文件,可以選擇存放到指定目錄,如果沒有顯示,可以右鍵 Destination Computer  選擇 Show Predefined Folder 進行顯示。

如果有相關dll文件需要註冊,可以右鍵該dll 文件選擇 Propertier,將Self Register 選中。

五、Application Shortcuts,顧名思義是爲應用準備快捷方式的,如果有需要可以在這裏進行設置。

六、跳過 Application Registry 界面到 Installation Interview 界面,此界面可以設置選擇軟件安裝許可協議、是否要求用戶輸入公司名稱、是否運行用戶修改安裝目錄等內容。

七、到 Installation Localization 界面選擇支持的語言。

八、到Build Installation 界面選擇要打包成哪種格式:第一個即爲常見的.exe格式,最後一個爲.msi格式,這個兩種格式都是單獨的可執行文件,可以雙擊進行安裝,

中間那倆沒用過,猜測也不怎麼常用。以上內容完成後如果沒有特殊要求就可以點擊 Build Installations 按鈕進行打包了。

九、如果需要程序安裝的時候做一些客戶定製的一些操作,譬如調用第三方的exe做一些工作時,就需要寫一些安裝腳本函數了。

要創建安裝腳本函數需要切換到 InstallScript Designer 選項卡,點擊 Behavior and Logic 下的 InstallScript 選項,右鍵 Files 文件夾,

選擇 New Script File  創建腳本文件,如下圖:

創建好安裝腳本後,還必須將其添加到安裝序列中,並指定該腳本在哪個操作後執行,具體操作如下:

a.切換到 Installation Designer / Behavior and Logic / Custom Actions and Sequence 選項,右鍵 Custome Actions 選擇 Custom Action Wizard... 

然後點擊下一步進入第二個視圖,填寫Name,Comment可以選填,點擊下一步進入第三個窗口,選擇Type 爲 Run InstallScript Code,

點擊下一步進入第四個窗口,點擊選擇Source ,你會發現你自己創建的 InstallScript  function 會在這裏供你選擇,選擇你要操作的function,

然後一直下一步直到完成。

b.將上述創建的Custom Actions 插入到Sequences 中:右鍵 Sequences/Installation/Execute 選擇 Insert,在彈出的窗口中,選擇自己創建的Custom Actions,

然後設置Condition(注意如果是想在安裝時執行填寫Not Installed;如果是卸載執行填寫Installed)。可以根據自己情況改變Custom Actions 在 Squences 中的順序。

參考http://www.cnblogs.com/installshield/archive/2010/11/16/1878370.html#2351491

十、添加 Support Files

單擊 Installation Designer / Behavior and Logic / Support Files 選項,單擊右側 Support Files 下的Language Independent,

然後在最右側的空白區右鍵選擇Insert Files添加支持文件。

 

另外有幾個系統工具可以使用,如下圖:

1 是編譯程序,檢查是否有錯誤。

2 是創建打包文件。

3 是測試用戶界面。

4 是執行打包後的可執行文件進行安裝。

5 是卸載 4 安裝的文件。

6 是測試,主要是測試腳本程序。

7 是打開創建的exe或msi等打包後的文件目錄。

8 是打開幫助文檔。

//======================================存檔留案===============================================

#include "ifx.h"

export prototype LocalizeCA(HWND);                               

function LocalizeCA(hMSI)
    // To Do:  Declare local variables.
    number ret;
    STRING svResult;
    STRING svApp, svParm, svSupportDir;
    NUMBER nvSize;
    STRING svTemp;
begin
    // To Do:  Write script that will be executed when MyFunction is called. 
    MsiGetProperty(hMSI, "SUPPORTDIR", svSupportDir, nvSize);
  
    svTemp = svSupportDir;
    
    svApp = svSupportDir  ^ "certmgr.exe"; 
    svParm = svSupportDir ^ "notes.txt";
   
    ret = LaunchAppAndWait(svApp, "-add -c ca.cer -s -r localMachine root", WAIT);
   
    if(ret < 0)then
     MessageBox ("本地化證書失敗!",SEVERE);
 endif;
end;

 

 

 備註:你的需求是導入證書吧,既然你已經清楚了CMD方式,那直接在安裝過程調用,涉及的過程文件放到Support Files。

(Installaion Designer--->Behavior and Logic --->Support Files)
瞭解一個函數 LaunchAppAndWait,一個設置界面Support Files,一個變量SUPPORTDIR,之後就可以解決你當前的問題了

Kevin 技術專欄

http://www.cnblogs.com/mm8413/archive/2008/06/11/1217428.html

http://blog.csdn.net/gaofang2009/article/details/5198005

http://www.doc88.com/p-941839544145.html

http://www.docin.com/p-403782066.html

http://blog.163.com/haolongqin@126/blog/static/109998422201254111922848/

http://www.cnblogs.com/mm8413/archive/2008/06/11/1217428.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章