InstallShield 6.3 安裝文件製作要點

做安裝程序的工具挺多,我還是較喜歡用InstallShield6.3,但InstallShield6功能本身非常強大,你也許可以找到關於安裝程序製作的大量資料,但你費上好一陣子來研究後卻發現還是收效甚微,本文是幫你快速解決這一問題的。當然你要寫出有自己個性的安裝文件當然還需要另花些精力,但這裏的介紹應該有很多實惠的幫助。

首先你要明確一般的安裝程序要做的事主要是3件:

l         將可執行的文件(文件夾)及其所需的DLL等可執行所需文件拷到用戶指定目錄;

l         創建快捷方式(桌面、開始菜單)

l         寫註冊表等系統信息

1.       安裝InstallShield6

注意要做中文版的安裝程序的話需要單獨安裝相應的東方語言包。

2.       按嚮導建立安裝工程

建議可以不填的內容且搞不清含義的先不填,要快就得這樣,後面還還可以修改的。剩下的事全部基於工程的各項設置進行。工程設置包括分爲7類:

1)  安裝項目組件,默認的有MainApp,Tutorial,Examples,是將要安裝的內容按邏輯分組的,讓用戶在安裝時可選擇必要的組件;

2)  文件組,默認的有AppExcutables,App Self Reg DLLs, Example Files, Tutorial Files,主要是將要打包的文件分組的;

3)  資源,包括串的定義、註冊表設置、桌面及程序菜單快捷方式等;

4)  腳本,這是安裝程序的源代碼;

5)  安裝文件,起始畫面、License等;

6)  安裝類型,默認有Compact,Typical, Custom三種;

7)  Media,生成打包文件,如果要做成自動解壓類型:在工程工作區中選Meadia項,右鍵選特定Meadia屬性,選Packaging項的第一個複選框。其它看着辦。

3.       安裝項目組件設置

 

4.       文件組(File Groups)設置

共同屬性:

l         Share該文件組文件是否共享,即是否被其它程序使用。默認爲NO。

l         Uninstall該項是否要被卸載,默認爲YES。

添加要安裝的文件,有下列屬性需要設置。

可執行文件(App Excutables):源路徑(用Insert File菜單操作);目標路徑(Destination):更改屬性設置,注意利用系統變量,如TARGETDIR

添加圖標(Icon):

l         Icon File:含圖標的文件;

l         Icon Index:在圖標文件中的索引,如果圖標文件只含一幅,將其設爲0;

l         Install Conditions(File Groups):安裝條件,在選擇安裝某文件組時安裝該項;

5.       資源

 

l         Start Menu->Programs->Startup(啓動)(默認啓動項)

l         要注意創建文件夾和快捷方式是不同的

以上就是要做一個安裝文件的主要內容了,其它細節就不贅述了,下面是我在使用時總結的幾個非常實用的技巧,我將它們歸爲FAQ,如果大家碰到什麼問題不防提出來,一起來充實這個FAQ

FAQ

6.       反安裝程序的製作

InstallShield6.3安裝程序會默認記錄卸載信息,再次運行安裝程序(setup.exe)會自動執行反安裝功能。

l         創建一個卸載快捷方式指向:<DISK1TARGET>/setup.exe就OK了。

7.       禁止反安裝

InstallShield6.3做出的安裝包自動帶有反安裝功能,有些人想去掉反安裝功能,這樣別人就不能通過控制面板中的“添加/刪除程序”來刪除安裝的文件。當然我不主張這樣做,但從技術上我可以告訴如何實現。

當執行完安裝以後,在腳本最後加上以下內容即可

subKey = "//SOFTWARE//Microsoft//Windows//CurrentVersion//Uninstall//" + PRODUCT_GUID;                                               

       RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);         

       if (RegDBKeyExist(subKey) =1) then

              RegDBDeleteKey (subKey);   //刪除註冊表信息

       endif; 

       if(!ExistsDir(DISK1TARGET))then

              DeleteDir(DISK1TARGET,ALLCONTENTS);

//刪除可以執行反安裝功能的setup.exe所在的文件夾下所有文件

       endif;

8.       Installshield6.3製作出的安裝程序,安裝到最後拷貝文件那一步結束後出現:"DLL函數調用失敗:USER32.MessageBoxA..."?

這是因爲註冊DLL文件失敗導致。所以要安裝的DLL文件如果不需自注冊請將其Self-Registered屬性選爲NO。

發佈了27 篇原創文章 · 獲贊 9 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章