天天看點

如何使用InstallShield8.0制作自己的安裝程式

如何使用InstallShield8.0制作自己的安裝程式
如何使用InstallShield8.0制作自己的安裝程式
如何使用InstallShield8.0制作自己的安裝程式
如何使用InstallShield8.0制作自己的安裝程式
::首頁 >> 文檔中心 >> 線上雜志 >> 發行包的制作 [ 線上雜志 第41期 ]

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-4159669282587342&dt=1177927093252&lmt=1177927093&format=728x90_as&output=html&url=http%3A%2F%2Fwww.vckbase.com%2Fdocument%2Fviewdoc%2F%3Fid%3D1445&ad_type=image&ref=http%3A%2F%2Fwww.vckbase.com%2Fdocument%2Ffinddoc.asp&cc=554&flash=9&u_h=900&u_w=1440&u_ah=866&u_aw=1440&u_cd=32&u_tz=480&u_his=4&u_java=true" frame width="728" scrolling="no" height="90" allowtransparency="allowtransparency">

[ 原創文檔 本文适合初級讀者 已閱讀14268次 ]

文檔

代碼

工具

如何使用InstallShield8.0制作自己的安裝程式

作者:李強

摘要

  本篇文檔會告訴你如何使用InstallShield開發平台來建立,編譯,運作一個安裝程式。在這篇文檔中你會學習到安裝過程中碰到的下面一些内容:加載安裝檔案,設定快捷方式,修改系統資料庫,條件安裝一些檔案,注冊com元件,更換安裝界面,調試以及釋出安裝程式。

本篇文檔主要分下面的6個部分内容:

  • 建立,編譯,測試安裝的工程
  • 設定快捷方式以及修改系統資料庫
  • 注冊COM元件
  • Conditions and Properties
  • 使用腳本修改安裝程式
  • 修改安裝界面

下面我們來一步一步地跟我來學習如何制作安裝程式

1、建立,編譯,測試安裝的工程

  這一部分主要講述如何快速的建立一個安裝Project。

1.1建立一個安裝的工程

首先來看看InstallShield8.0的開發控制台界面,熟悉一下開發環境。

如何使用InstallShield8.0制作自己的安裝程式

圖1

  我們可以從檔案菜單中選擇開始一個新的工程向導,或者可以直接從工具欄中選中開始一個新的工程向導按鈕,更直接的就是單擊控制台界面上的Start the Project Wizard超連結即可彈出一個建立新工程的對話框如圖2,你可以安裝提示一步一步地往下走就是了。

如何使用InstallShield8.0制作自己的安裝程式

圖2

單擊下一步,給我們的工程設定名稱,見圖3

如何使用InstallShield8.0制作自己的安裝程式

圖3

  在上圖中,當你輸入一個工程的名字并單擊下一步的時候,向導就會建立一個ProjectName.ism,被例子中則建立了liqiang_test.ism檔案,你在IDE中對工程所做的設定都儲存在這個檔案中,如果你想将你的工程移植到其他機器上,你隻需要将.ism檔案複制到其他機器上即可。

單擊下一步,選擇安裝工程的類型,見圖4

如何使用InstallShield8.0制作自己的安裝程式

圖4

  這個屬性頁允許你選擇建立工程的類型,這裡我們選擇了InstallScript MSI Project,這種類型的安裝程式使用腳本來驅動安裝界面,使用windows installer來改變目标系統,比如添加檔案,建立快捷方式,修改系統資料庫,關于InstallScript MSI Project和Basic MSI Project兩種方式詳細的差別,你可以參考幫助檔案。

單擊下一步,設定應用程式的資訊,圖5

如何使用InstallShield8.0制作自己的安裝程式

圖5

  你在Application Name中填寫的應用程式的名稱會出現在安裝對話框中,并且你在控制台的添加和删除程式對話框中顯示的名稱也就是這個名稱。

  還有一個就是設定安裝路徑,預設的情況下都是安裝到C:/Program Files下,但是有一些例外,比如有的系統盤不在C上,為了使安裝路徑可以動态改變,installshield提供了ProgramFilesFolder屬性,這個屬性的值在安裝的時候動态的初始化為目标系統的Program file 目錄。

單擊下一步

如何使用InstallShield8.0制作自己的安裝程式

圖6

  這個屬性頁用來選擇是否采用Installshield update service 自動地給你的使用者發送更新消息,這裡我們沒有選擇。

單擊下一步,填寫關于你們公司的資訊

如何使用InstallShield8.0制作自己的安裝程式

圖7

填寫公司的名稱和電話,網址等

單擊下一步,選擇語言

如何使用InstallShield8.0制作自己的安裝程式

圖8

單擊下一步,添加Features,見圖9

如何使用InstallShield8.0制作自己的安裝程式

圖9

  我們将預設的Features删除,添加ProgramFiles and HelpFiles兩個Features。

當你的安裝程式很多情況下,可以通過這個屬性頁将你的所有的安裝程式分組,然後在安裝的過程中,使用者可以選擇自定義安裝方式來自己選擇需要安裝的内容,這裡為了簡單舉例子,我就分了兩組。

單擊下一步,将安裝檔案添加到相應的分組類。

如何使用InstallShield8.0制作自己的安裝程式

圖10

單擊 Add Files,在彈出的對話框中選擇相應的檔案,

為了使你的安裝工程可以很容易的移植到其他的機器上,工程向導或者IDE對你添加的每一個檔案都建立了一個path variable,

如何使用InstallShield8.0制作自己的安裝程式

圖11

單擊下一步,設定快捷方式,圖12

如何使用InstallShield8.0制作自己的安裝程式

圖12

  我們可以在下面的第二部分中可以看到關于設定快捷方式的較長的描述,我們不在這一步驟設定快捷方式,單擊下一步,

如何使用InstallShield8.0制作自己的安裝程式

圖13

通過導入reg檔案來修改系統資料庫的鍵值,直接跳過,關于修改系統資料庫,後面有詳細的描述

單擊下一步,選擇安裝的對話框

如何使用InstallShield8.0制作自己的安裝程式

圖14

  這裡你可以選擇你安裝過程中需要的對話框,向導會自動将你選擇的對話框腳本函數添加到工程的腳本中,在第6部分你可以了解到腳本的内容。

單擊下一步,選擇安裝對話的皮膚,見圖15

如何使用InstallShield8.0制作自己的安裝程式

圖15

這裡我選擇了Blue,你也可以選擇None

單擊下一步,進入向導的最後一步,

如何使用InstallShield8.0制作自己的安裝程式

圖16

  檢查你在向導中設定的選項是否正确,如果确認無誤,單擊完成,就建立了一個新的安裝工程,這個工程一般都在你的機器,我的檔案目錄下,下面進入第二部分,利用IDE修改我們建立的安裝工程

1.2 利用IDE修改安裝工程

設定Features的屬性

如何使用InstallShield8.0制作自己的安裝程式

圖17

Featrues的一些屬性如下,你可以分别設定

如何使用InstallShield8.0制作自己的安裝程式

圖18

設定安裝類型的屬性,圖19

如何使用InstallShield8.0制作自己的安裝程式

圖19

對應三種安裝方式,最小,典型,自定義,你可以分别選擇不同的安裝元件相比對。

從IDE中向工程中添加檔案

下面我們示範如何向工程中添加檔案,

首先打開Files and Folders視圖

如何使用InstallShield8.0制作自己的安裝程式

圖20

  然後從上面的source 檔案夾中選中要添加的檔案,然後拖動到下面的工程中,然後會彈出一個讓你添加路徑變量的對話框。

Ok,下面講述一下如何編譯我們的這個安裝工程。

1.3 編譯安裝工程

單擊“Build”菜單,如圖21

如何使用InstallShield8.0制作自己的安裝程式

圖21

選擇Realse 向導,彈出下面的對話,單擊下一步,按照提示,一路走來。

如何使用InstallShield8.0制作自己的安裝程式
圖 22
如何使用InstallShield8.0制作自己的安裝程式

圖23

在這個屬性頁中我們可設定我們安裝檔案的名稱,單擊下一步

如何使用InstallShield8.0制作自己的安裝程式

圖24

這是用來指定一個檔案夾名稱,你編譯出來的安裝檔案将來就存放在這個檔案夾下面。

下面的這個屬性頁可以直接跳過

如何使用InstallShield8.0制作自己的安裝程式
圖25
如何使用InstallShield8.0制作自己的安裝程式

圖26

上面的這個屬性頁可以設定語言

單擊下一步,進入選擇媒體類型的頁面,這裡我們選擇我們安裝程式的釋出媒體,我們選擇CDrom,

如何使用InstallShield8.0制作自己的安裝程式
圖27
如何使用InstallShield8.0制作自己的安裝程式

圖28

單擊下一步,

如何使用InstallShield8.0制作自己的安裝程式

圖29

Ok,這裡我們選擇了Compress all Files,

單擊next,

如何使用InstallShield8.0制作自己的安裝程式

圖30

單擊下一步,我們來指定如何定位安裝源檔案

如何使用InstallShield8.0制作自己的安裝程式

圖31

這裡我們選擇了從我們的安裝檔案中複制,單擊下一步

如何使用InstallShield8.0制作自己的安裝程式

圖32

這個屬性頁同上

下一步,用來選擇是否要添加NET framework元件。

如何使用InstallShield8.0制作自己的安裝程式

圖33

這裡我們選擇不包含net framework。下一步,包含Visual J#

如何使用InstallShield8.0制作自己的安裝程式

圖34

單擊下一步,進入進階選項選擇,圖35

如何使用InstallShield8.0制作自己的安裝程式

圖35

呵呵,終于快要大功告成了,單擊下一步,檢查一下啊我們的選擇是否正确,如果正确無誤,單擊完成,

如何使用InstallShield8.0制作自己的安裝程式

圖36

  Ok,至此,單擊完成後,我們的工程就會自動編譯,在你的安裝工程下生成安裝檔案。目錄就是你指定的。Ok,看看我編譯的安裝檔案吧

如何使用InstallShield8.0制作自己的安裝程式

圖37

Ok,下面就是運作我們的安裝檔案了,來吧,試驗一下,還有很多功能需要後面添加,,但是這個已經可以安裝運作了。

1.4運作安裝工程

單擊上面的setup.exe檔案,就開始運作我們剛制作的安裝程式了,

如何使用InstallShield8.0制作自己的安裝程式

圖38

  具體的頁面省略了,如果你一路跟我做到這裡,我相信你的安裝檔案也可以運作了,下面我看看如果添加其他的東西,更精彩的内容在後面的呢,如果修改系統資料庫,注冊com元件,修改安裝界面,等等内容。

2、設定快捷方式以及修改系統資料庫

  先講一下如何設定快捷方式。下面我在開始的programes菜單中添加Imclient.exe的快捷方式。首先我們在IDE中打開ShortCuts視圖,見圖39

如何使用InstallShield8.0制作自己的安裝程式

圖39

  右鍵單擊Programs Menu項,在彈出的菜單中選擇New Advertised Shortcut,如圖39,然後在彈出的Browse for a Component 對話框中,從清單中選擇Imserver.exe。如圖40:

如何使用InstallShield8.0制作自己的安裝程式

圖40

然後單擊Open按鈕。設定下面的屬性

如何使用InstallShield8.0制作自己的安裝程式

圖41

當然,在這裡,你還可以根據上面的提示分别設定桌面快捷方式,等等。下面一個内容就是如何修改系統資料庫,假如我們向系統資料庫的 HKEY_LOCAL_MACHINE/SOFTWARE/linkrun/imserver下添加一個liqdata的鍵:

3、注冊COM元件

  對于很多檔案而言,安裝程式隻要将他們從源檔案處複制到目标系統中就可以了,但是對于某些檔案,安裝程式就要在目标系統中注冊他們,比如,自注冊檔案或者ActiveX 控件。下面我示範一下如何在你的安裝工程中注冊一個G729AEC.dll,一個com元件。

1、首先打開File 和Folders視圖如下圖

如何使用InstallShield8.0制作自己的安裝程式

圖42

2、在Files and Folders視圖的上部,Add new components to the feature清單框中選擇一個你的安裝程式名稱。這裡我選擇client

3、在下面的安裝目錄上右鍵單擊,在彈出菜單上選擇Launch Component wizard項。

如何使用InstallShield8.0制作自己的安裝程式

圖43

4、在彈出的添加元件向導中選擇“Let me select a type and define the component myself”,單擊下一步。

如何使用InstallShield8.0制作自己的安裝程式

圖44

5、選擇你要添加元件的類别,然後寫下你的元件的名稱

如何使用InstallShield8.0制作自己的安裝程式

圖45

6、下面選擇你的元件在目标機器上的位置你可以選擇放到安裝目錄下,也可以選擇放到WinNT系統目錄下

如何使用InstallShield8.0制作自己的安裝程式

圖46

7、單擊右側的浏覽按鈕,選擇你的元件。見圖47,48

如何使用InstallShield8.0制作自己的安裝程式
圖47
如何使用InstallShield8.0制作自己的安裝程式

圖48

8、單擊完成就将一個com元件添加到安裝工程中了

如何使用InstallShield8.0制作自己的安裝程式

圖49

Ok,現在運作我們的安裝包就可以将G729AEC.dll安裝目标機器上,并注冊。

4、條件安裝

  通常我們在制作安裝程式的時候,我們總是要考慮我們程式的運作環境,比如,作業系統的語言,使用者是否有權限。

  如果你想在某些特定的作業系統中安裝你的程式,你可以通過設定元件的作業系統特性來防止你的程式在其他系統上安裝。這個可以在Setup Design視圖中完成。

  下面我示範一下,如果建立一個隻能安裝到Windows NT 4.0 and Windows 2000 systems:下的元件:

1、打開Setup Design視圖,圖50

如何使用InstallShield8.0制作自己的安裝程式

圖50

2、右鍵單擊Client項,在彈出菜單中選擇New Component;

3、然後将你新添加的這個元件,改名windows_nt_files

如何使用InstallShield8.0制作自己的安裝程式

圖51

4、右鍵單擊File面闆,添加相應的檔案

如何使用InstallShield8.0制作自己的安裝程式

圖52

5、右鍵單擊你的檔案,将你添加的檔案設定為Set Key File。

6、然後将window的作業系統屬性設定為Windows NT 4.0 and Windows 2000。這樣你的元件就隻能安裝到Windows NT 4.0 and Windows 2000系統上了。

如何使用InstallShield8.0制作自己的安裝程式

圖53

我們還可以設定Windows Installer Conditions來進行條件安裝,具體的可以參考幫助文檔。

5、使用腳本修改安裝程式

  InstallShield開發工具是采用InstallScript語言來運作一個安裝程式的,你可以在InstallScript視圖中來修改工程的腳本程式。如下圖

如何使用InstallShield8.0制作自己的安裝程式

圖54

  InstallScript MSI腳本語言采用的事件驅動模式,也就是說,所有的函數調用是安裝一定的順序來進行的。

  在你的工程中自己定義的函數都會出現你的函數樹上,見上圖,你可以單擊樹上函數名稱來編輯或者修改該函數。

  事件處理函數(event-handler functions)是不會出現你的函數樹上,但是這些函數你的工程也可以使用,當然,此時我們使用的該函數的預設代碼,如果你想修改某個事件處理函數,你可以從事件清單中選擇一個事件比如我們選擇(Befor Move Data),然後選擇一個關于這個事件的函數(比如Begin),然後這個函數的定義就會出現在你的腳本中,在你的腳本中會出現下面的代碼。

如何使用InstallShield8.0制作自己的安裝程式
圖55
// 
  // 
  // FUNCTION: OnBegin 
  // 
  // EVENT: Begin event is always sent as the first event during installation. 
  // 
  // 
  function OnBegin( ) 
  begin 
  // TO DO: you may change default non-UI settings, for example 
  // 
  // You may also perform your custom initialization steps, check requirements, 
  etc. 
  end;
      

你可以在這個函數執行自己的代碼了。

下面我們示範一下如何在這個函數添加一個MessageBox函數。

1、首先将begin和end間的//開頭的都删除

2、按下CTRL+I彈出添加函數的向導。

3、在函數的種類清單中,選擇“Built-in dialog box”.

4、在函數名稱中,選擇“MessageBox”.單擊下一步。

5、In the szMsg field—which contains the message you want to display—type "Welcome to the Tutorial installation!" (including the quotation marks).

6、In the nType drop-down list—which specifies the type of message box to display—select INFORMATION.

7、Click Finish to paste your function call into the script.

最後,其實就是在你的OnBegin函數中添加了如下的代碼:

function OnBegin( )

  begin

  MessageBox ( "Welcome to the Tutorial installation!" , INFORMATION 
  );

  end;      

  當你修改了你的腳本時,你就要重新編譯它,這樣,當你運作安裝程式的時候,在彈出歡迎對話框之前就會彈出這個消息框。InstallScript語言包含了大概250個函數用來處理相關的任務,詳細内容參見幫助文檔。

6、修改安裝界面

處理使用者的輸入:

在你的安裝腳本中,所有處理使用者輸入對話框的顯示隻在下面的四個函數中出現

OnFirstUIBefore,這個函數裡包含了使用者第一次安裝該程式,在複制檔案之前的所有的對話框。

OnFirstUIAfter,這個函數包含使用者第一次安裝該程式,在複制檔案之後所用到的對話框顯示

OnMaintUIBefore,這個函數中包含了使用者采用maintenance模式安裝時,在複制檔案之前的所用到的所有的對話框。

OnMaintUIAfter,這個函數中包含了使用者采用maintenance模式安裝,在複制檔案之後所用到的對話框。

對于InstallScript MSI工程來說,其實這裡最重要的還是OnFirstUIBefore and OnMaintUIBefore兩個函數,使用者無論是第一次安裝還是maintenance安裝,對話框顯示都在這兩個函數中,

OnFirstUIBefore函數預設的情形應該像下面這樣吧

Dlg_Start: 
  // beginning of dialogs label 
  Dlg_SdWelcome: 
  szTitle = "" 
  szMsg = "" 
  nResult = SdWelcome( szTitle, szMsg ); 
  if (nResult = BACK) goto Dlg_Start; 
    Dlg_SdCustomerInformation: 
  szMsg = ""; 
  szTitle = "";  
  nResult = SdCustomerInformation( szTitle, szName, szCompany, nUser ); 
  if (nResult = BACK) goto Dlg_SdWelcome;    
      

  ok,關于InstallShield8.0的入門就簡單介紹到這裡,關于安裝程式的制作,以後有機會我會寫一些更加詳細關于InstallShield的幫助文檔,如果大家有有什麼問題,希望多交流。

作者簡介:李強,目前暫時供職于山大聯潤資訊科技有限公司,從事網絡視訊會議軟體的開發,目前的感興趣的方向,WinCE移動裝置上網絡視訊會議的開發。[email protected] 歡迎轉載本文檔。

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-4159669282587342&dt=1177927100798&lmt=1177927100&alt_color=FFFFFF&prev_fmts=728x90_as&format=468x60_as&output=html&url=http%3A%2F%2Fwww.vckbase.com%2Fdocument%2Fviewdoc%2F%3Fid%3D1445&color_bg=ECF8FF&color_text=6F6F6F&color_link=0000CC&color_url=008000&color_ frame width="468" scrolling="no" height="60" allowtransparency="allowtransparency">

如何使用InstallShield8.0制作自己的安裝程式
最新評論 [發表評論] [文章投稿]
如何使用InstallShield8.0制作自己的安裝程式
檢視所有評論
如何使用InstallShield8.0制作自己的安裝程式
推薦給好友
如何使用InstallShield8.0制作自己的安裝程式
列印
如何使用InstallShield8.0制作自己的安裝程式
我有,如果需要可以加我。QQ:37009824 ( 995733 發表于 2006-4-26 10:53:00)
如何使用InstallShield8.0制作自己的安裝程式
各位兄長 這東東在那下載下傳呀 ! 我的郵箱是[email protected]可以幫我發一份不  謝謝各位了 ( t_ch_w 發表于 2006-3-21 17:21:00)
如何使用InstallShield8.0制作自己的安裝程式
這東東在那下載下傳呀,找了半天都找不到! ( an5723 發表于 2006-1-17 16:48:00)
如何使用InstallShield8.0制作自己的安裝程式
非常感謝! ( Jans 發表于 2005-4-23 10:54:00)
如何使用InstallShield8.0制作自己的安裝程式
到哪下載下傳啊? ( boywys 發表于 2005-4-16 10:34:00)
如何使用InstallShield8.0制作自己的安裝程式

非常好的文章,所有人都會有需要的。 ( cl7986 發表于 2005-4-14 16:30:00)

.......................................................

More...

版權所有 © 2006 VC知識庫