Installshield 12 中文系列教程 之 Basic Msi項目(一)

Installshield 12 中文系列教程 之 Basic Msi項目(一)

 

×××××××××××××××××××××××××××××××××××××××××××××××
聲明:本文爲《打包技術網》原創,轉載請保留此聲明並註明出處,僅供網友學習使用,勿用於商業用途。
作者:棒槌_007
聯繫方式:QQ 113984419 MAIL:[email protected]

說明:本人E文實在一般,文中有翻譯不準確的地方,請各位見諒。
×××××××××××××××××××××××××××××××××××××××××××××××


這個部分通過帶領你使用
InstallShield新建,編譯,運行,來增強使用一個Basic MSI項目的能力。
這個教程劃分了一些列的步驟。在第一步後“第一步:建立,編譯,測試項目”其他的步驟能夠按照任意的順序單獨的運行,所以你可以集中注意力在這個部分的相關的內容上。
在這個教程中,你將要學習到如何完成一個安裝程序中要執行的多個任務,包括:
  • 安裝文件
  • 設置快捷方式和註冊表數據
  • 條件安裝數據
  • 註冊COM服務程序
  • 更改安裝過程中的用戶界面
  • 編譯發佈鏡像文件
  • 測試安裝

這些內容在的相關鏈接貫穿整個幫助支持庫。

第一步:創建、編譯與測試項目

這個步驟示範如何創建一個安裝項目,編譯發佈映像,測試安裝程序。完成這些步驟後,你將知道如何:
  • 使用項目助手創建一個新項目
  • 爲安裝項目配置全局屬性
  • 定義功能部件,構件和鏈接文件
  • 爲複製和發佈編譯映像
  • InstallShield中運行安裝程序

Basic MSI安裝程序組成部分

一個Basic MSI安裝程序由兩個層次構成:
  層次
  
  描述
  
  構件
  
  從開發者的角度看一個構件是你的項目中最小可單獨安裝的部分。一個構件包含文件,快捷方式,註冊表數據和其它的要在目標系統上安裝的內容。最終用戶從不與組件直接接觸。
  一個組件能夠被用於多個功能區,只要用戶選擇了最小功能,那麼它的關聯組件就會被安裝到目標計算機上。
  
  功能部件
  
  從用戶的視角來看一個功能部件是你的項目中最小可單獨安裝的部分。如果用戶選擇了自定義安裝類型,那麼將有一個可供用戶選擇安裝功能部件的對話框出現。
  每一個功能區都包含組件。
  

教程文件

在安裝教程中你將創建和配置的程序叫Tutorial App。它的源文件在InstallShield的安裝目錄中。默認的路徑爲C:/Program=Files/Macrovision/IS12/Samples/ISDevTutorial


創建一個新Basic MSI 項目
教程中的第一步是創建一個新的Basic MSI項目。

要創建一個新的Basic MSI項目
1.File菜單中選擇New或者點擊工具欄上的New Project 按鈕,出現New Project 對話框。

2.單擊Windows Installer標籤選擇Basic MSI項目類型
3.在Project Name 輸入Tutorial
4.在ProjectLocation 內保留默認的設置

5.勾選Create the project in Project Name subfolder(在項目名稱文件夾中創建項目)選項

6.單擊OK創建項目轉到ProjectAssistant

InstallShield創建一個名爲ProjectName.ism的項目文件,在本例中創建的項目文件是Tutorial.ism 。這個項目文件保存你在InstallShield IDE中做的所有設置。要把一個項目移動到其他的系統中,複製這個.ISM文件和它的安裝源文件到其他的系統中即可。


技巧:要更改新建項目的默認目錄,在Options對話框中的Project Location區域輸入新的路徑即可。

指定應用程序信息

當你創建了一個新項目,Project Assistant(項目助手)將幫助你指定項目和應用程序信息。在安裝助手的第一頁將對整個創建安裝程序過程提供一個圖形化的概述。要開始使用項目助手,單擊視圖底部的ApplicationInformation 圖標。

ApplicationInformation 頁你可以指定你的項目中關於程序的常規信息。

在本例中指定應用程序信息:
1.Company Name的地方輸入TutorialCo 。在Web Address 中輸入自動更新信息。
2.Application Name地方中輸入TutorialApp。在Application Name中輸入的內容將在對話框中顯示給最終用戶,並且將顯示在用戶的添加/刪除程序面板中。
3.保留Application Version CompanyWeb Address 的默認值。
4.Application Icon 區域,單擊瀏覽按鈕找到Tutorial.exe的位置:在InstallShield的樣例目錄中的ISDevTutorial子目錄中。打開其中的 .exe文件然後選擇Icon Index:0

當你完成後你將看到應用程序面板中將顯示如下圖:

你輸入的application namecompany name確定了在Windows Start菜單中顯示的默認快捷方式,INSTALLDIR的值用來指定你的程序文件在目標計算機中的位置。

提示:INSTALLDIR默認的值是[ProgramFilesFolder]/公司名/項目名。這個[ProgramFilesFolder]在安裝時對應用戶的ProgramFiles目錄。要查看Windows Installer定義的其他目錄屬性,查看Windows Installer Property ReferenceInstaller段的SystemFolders設置。


設置安裝程序需求


安裝程序需求頁可以讓你輕鬆的指定安裝程序對目標系統的需求。例如,你的安裝程序需要制定運行的操作系統,你可以在這個面板的第一部分中指明。

操作系統需求

如果你的應用程序需要Windows2000或者更高的操作系統,你可以選擇Yes並選擇你的安裝程序適合的操作系統。
在本例中,保留 NO 的選擇。


軟件需求

如果你的安裝的程序運行時需要目標系統上有一些特別的軟件環境,選擇 YES 然後選擇軟件需求。要自定義當目標系統不滿足應用程序的軟件需求時的提示信息,單擊run-time信息進行編輯。

提示:如果軟件需求沒有進行選擇,那麼運行期間信息將不會顯示。

自定義安裝體系結構

在安裝結構頁你可以指定你想要安裝程序顯示給最終用戶的功能部件。從用戶的角度看,一個功能部件是項目中最小的可以單獨安裝的部分。當用戶在安裝期間選擇Custom setup(自定義)安裝類型是可以看到單獨的功能部件。

提示:功能部件可以包含子功能部件,子子功能部件甚至更多,你可以添加你的安裝程序所需要的多個層級。

你的安裝體系結構當前包含一個默認的功能部件,Tutorial_Files。這個默認的功能部件在用戶運行安裝程序時總是會安裝的。在這個步驟中,你將爲安裝體系結構添加另一個功能部件。

在本例中,添加一個Help_Files 新功能部件:
1.對於Do you want to customize your Installation Architecture?(你想自定義你的安裝程序結構嗎?)提問,選擇YES
2.右鍵單擊Installation Architecture節點,選擇NEW
3.把新功能部件命名爲Help_Files

當你完成這個步驟,你的安裝結構看起來像下圖:

向項目中添加文件
下一步是向安裝項目中添加應用程序文件。應用程序文件頁可以讓你爲每一個功能部件添加相關的文件。
在這步中,你將向Tutorial_Files功能部件中添加Tutorial可執行文件。
要向Tutorial_Files功能部件中添加Tutorial可執行文件:
1.頁面頂部的功能部件下拉列表中選擇Tutorial_Files
2.在目標計算機的樹形結構中,選擇INSTALLDIR節點
3.單擊Add Files ,彈出一個OPEN對話框
4.Tutorial Files源目錄中找到Tutorial.exe
5.單擊Open添加文件到Tutorial_Files功能部件
6.當出現"The file you have added ... may havedependencies" 提示信息時,單擊NoTutorial.exe文件沒有依存關係。這個文件已經添加到功能部件中,並且顯示在右邊的面板中。




創建快捷方式
應用程序快捷方式頁可以讓你在目標系統的桌面或啓動菜單爲你的應用程序文件創建快捷方式。默認的,這個頁面爲你的項目中包含的每一個可執行文件創建一個快捷方式。你可以刪除這些,然後爲你的項目中的其他文件添加快捷方式。

激活Tutorial.exe的快捷方式:

單擊Tutorial.exe圖標,保留默認的設置,選中Create shortcut in Start menuInstallShield將在安裝程序運行時在用戶的開始菜單中創建一個Tutorial.exe的快捷方式。



配置註冊表數據


應用程序註冊表頁可以讓你爲應用程序的需要配置任何的註冊表項。


在本例中,不配置任何註冊表項。註冊表項將在第二步Shortcuts andRegistry Data中添加。



爲安裝交互設置對話框


InstallationInterview安裝協商)頁可以讓你指定當最終用戶運行安裝程序時看到的對話框。在這個頁面通過對你的詢問,ProjectAssistant(項目助手)將在你的安裝項目中添加合適的對話框。

按照下列操作,爲本例指定對話框:
1.Do you want to display a License Agreement Dialog?選擇NO。如果你選擇YES,你可以選擇你的許可協議文件。
2.Do you want to prompt users to enter their company nameand user name?—選擇YES安裝程序將顯示一個對話框收集信息。
3.Do you want your users to be prompted to modify theinstallation location of your application?—選擇YES更多信息請查看允許最終用戶修改安裝位置。
4.Do you want users to be able to selectively install onlycertain parts of your application?—選擇YES ,更多信息請看創建一個可選擇的安裝程序。
5.Do you want to give users the option to launch yourapplication when the installationcompletes?—選擇YES 找到Tutorial.exe文件,(位於[ProgramFilesFolder]TutorialCo/Tutorial)。當這個選項設置爲YES時,安裝完成對話框中會有一個選擇框允許用戶點擊Finish按鈕後立即執行應用程序。



爲安裝選擇一種語言
InstallationLocalization(安裝過程本土化)頁面中可以指定安裝過程中支持的語言。它也能指定字符串值和關聯標識符,讓你的安裝程序更加輕鬆的按照你的終端用戶所使用的其他語言而本土化。

在本例中,保留English的選擇,按照下列步驟,更改功能部件的名稱:
1.從列表框中,選擇Feature String Data
2.在字符串表格的 Value 列,單擊Tutorial_Files(這個值關聯着標識符IDS_FEATURE_DISPLAY_NAME2),把它變成Tutorial Files
3.單擊Help_Files這個值關聯着標識符IDS_FEATURE_DISPLAY_NAME3),把它變成Help Files

提示:更多信息參看,創建多語言安裝。

編譯安裝

當你確定好了安裝項目的的結構,添加了程序文件,創建了快捷方式,選擇了對話框,你已經準備好編譯這個安裝程序了。
編譯安裝程序頁可以讓你指定想要發佈的類型,發佈的選項,複製文件的位置。

要編譯安裝項目你只要:
1.選擇CD-ROM選項
2.單擊BuildInstallations

輸出窗口打開了最主要的Build標籤頁,顯示編譯過程中的信息。當Build標籤中顯示日誌文件信息的時候編譯就完成了。
下一步中,你將在IDE環境中運行你的安裝程序。

運行安裝程序
完成了項目助手中的步驟後,你已經創建了一個安裝Tutorial可執行文件的完整功能的安裝程序。

要運行安裝程序:
從工具欄上單擊Run,或者按Ctrl+F5

安裝程序顯示你在通過ProjectAssistantInstallationInterview頁設置的對話框。你通過ProjectAssistant輸入的那些值在對應的對話框中顯示給終端用戶。例如,在運行時,你通過ProjectAssistantINSTALLDIR指定的默認值出現在Choose Destination Location(選擇目標位置)對話框中。如果最終用戶通過瀏覽確定了一個新的默認目標目錄,INSTALLDIR將保存新的值
安裝完成之後,你可以瀏覽安裝程序安裝創建目錄找到安裝的文件。如果安裝程序順利,你將看到tutorial已經安裝。

維護模式
當一個用戶在他們的系統上第二次運行一個產品的安裝程序,這個安裝程序運行在maintenancemode
(維護模式)。維護模式允許用戶修改第一次安裝時的功能部件,修復已經安裝的功能部件或者刪除整個程序。

卸載程序
要卸載Tutorial程序:
單擊Uninstall

現在你已經創建了一個基本的安裝項目,單擊InstallationDesigner標籤,在教程的下一步中細化你的安裝程序。

使用InstallShield 設計界面工作
創建好一個項目後,你可以在InstallShield的安裝開發環境(或IDE)中設置項目的屬性。IDE是在功能範疇上幫助你添加或編輯項目中的信息。教程中這個與以後的幾個步驟將探索幾個不同的IDE視圖。

提示:根據你創建的不同項目類型,IDE的顯示也是不同。

在你完成了這個步驟後,你將瞭解到如何:
  • 爲你程序功能部件設置屬性。
  • 創建構建並添加文件。

設置功能部件的屬性

首先你將要設置你在Project Assistant中創建的功能部件的附加特性,象這個功能部件的顯示名稱和描述。要編輯功能部件的特性,轉到IDEFeatures 視圖。


在本例中,按照下列操作要設置功能部件的屬性
1.打開Features視圖。Features視圖位於Organization部分的視圖列表中
2.Features視圖中,選擇Tutorial_Files功能部件,在右側顯示他的屬性表。
3.Description區域中輸入下列內容:Thisfeature contains the Tutorial application files
4.選擇Help_Files功能部件顯示它的屬性表
5.Description區域中輸入下列內容:feature containsthe Tutorial help files

當你輸入顯示名稱和描述,IDE就創建了一個字符串表項顯示爲{ID_STRINGn}來表示每一個值。

在運行時,如果最終用戶選擇了Custom setup type,安裝程序就會顯示一個對話框提示用戶選擇要安裝的功能部件。你爲功能部件指定的名稱和描述就顯示在這個對話框中

創建構建和文件連接

你可以在Files and Folders視圖中添加文件連接。在這步中,你將要爲Help_Files功能部件添加文件。當你在Files and Folders 視圖中添加文件時,IDE環境將按照最優安裝原則創建構件。

要爲Help Files 功能部件添加一個源文件爲Tutorial.html新構件:
1、轉到Files andFolders視圖(在視圖列表中的Application Data節點下面)

2、Destination computer's folders位置,右鍵單擊Destination Computer 圖標,確定已經選擇了Show Components


3、在功能部件列表視圖頂部選擇Help Files
4、展開Destinationcomputer's folders 面版中的目錄樹找到[INSTALLDIR]目錄。
5、右鍵單擊[INSTALLDIR]目錄選擇New Component。構件名稱爲Help_Component
6、Sourcecomputer's folders面版中,瀏覽包含TutorialHelp.html文件的Tutorial文件源目錄
7、Source computer's files面版中拖動TutorialHelp.html圖標到Destinationcomputer's folders Help_Component構件中。InstallShieldHelp_Files功能部件中的Help_Component添加文件。
8、Destination computer's files面板中單擊Help_Component圖標來顯示這個構件的文件。
9、因爲每一個構件應該都有一個key file,右鍵單擊TutorialHelp.html文件選擇Set Key File


這些文件鏈接類型,構件鏈接的文件列表不會改變,這種類型叫做static filelinking(靜態文件鏈接)。要鏈接到一個包含子目錄而且目錄中的內容可能在編譯時放生變化,請查看Dynamic FileLinking(動態文件鏈接)。


技巧:你可以使用InstallShield提供的依存關係掃描器來確定你的應用程序所需要的但卻沒有包含在項目文件中的文件。例如,Tutorial App 使用MFC,如果目標系統上沒有安裝MFC運行時,那麼你必須在你的項目的Redistributables視圖中添加MFC運行時對象。


教程的下一步將說明如何爲你的安裝項目編譯一個發佈映像。


編譯發佈程序


在測試一個安裝程序之前,必須編譯一個發佈程序。一個發佈映像包含將要通過CD-ROM或者軟盤或者網絡位置發佈的所有文件。


編譯一個新的發佈文件最簡單的方法是使用ReleaseWizard(發佈嚮導)。這個ReleaseWizard 可以讓你配置版本的特性。象使用的的介質類型,在介質上如何壓縮文件。


要開始使用發佈嚮導

1.單擊工具欄中的ReleaseWizard按鈕或從Build菜單中運行ReleaseWizard

2.Welcome面板中,單擊NEXT來開始定義你的發佈設置。



命名產品機構和版本

產品結構面板
在產品結構面板,你可以指定當前產品結構的名稱。這個以產品名稱命名的目錄是你編譯版本將要放置的地方。

在本例中:
1.建立一個名爲Tutorial新的產品結構
2.點擊NEXT指定發佈名稱

配置發佈面板

Specify aRelease面板,指定一個發佈名稱。這個發佈的名稱用來命名存放發佈文件的目錄。
在本例中:
1.建立一個產品發佈名爲CDROM
2.單擊NEXT

指定過濾設置和語言

過濾設置面板

Filtering Settings面板,你可以指定在當前版本之外的功能部件或者構件。
在本例中:
使用默認設置,單擊NEXT繼續

設置語言
設置安裝語言面板,你可以指定在安裝程序運行時,用戶可以從顯示的對話框中顯示的列表中選擇用戶界面顯示的語言。

在本例中:
使用默認的設置,單擊NEXT繼續。

選擇介質類型與磁盤生成選項
介質類型面板
在介質類型面板,你可以指定你想編譯發佈的介質類型。這個介質類型表明了發佈嚮導創建的映像文件夾的大小。當你選擇使用CDROM類型是,發佈嚮導把你的磁盤映像放進多個目錄中,每個目錄都小於650MB

本例中,從介質類型中選擇CDROM

磁盤生成選項面板
Disk SpanningOptions面板可以讓你指定當需要生成多個文件是,如何安排你的程序文件。自定義生成類型可以讓你指定那些特殊功能部件中的文件放在哪個磁盤映像中。

在本例中:
對於如何讓ReleaseWizard確定如何安排每一個磁盤映像中功能部件文件,選擇Automatic

配置壓縮設置和安裝執行選項
發佈設置面板
在發佈設置面板,你可以指定在安裝項目中壓縮所有,不壓縮還是壓縮部分文件。

在本例中:
選擇壓縮所有文件。

安裝執行面板

安裝執行面板可以讓你指定是否創建一個Setup.exe執行安裝,是否在安裝程序中包含Windows Installer installers的安裝。如果目標系統上的沒有安裝服務程序或者安裝服務程序的版本太老,那麼Windows Installer
installers是必須安裝的。

你還可以指定你想安裝那個版本的Windows Installer服務。

在本例中,保留默認的設置。

在這個步驟中,保留所有的默認設置。

安裝Windows安裝程序的引擎文件

Windows安裝程序定位面板

Windows安裝程序定位面板中,指定Windows Installer installers的位置,如果你在前面的安裝執行面板中指定包含了安裝程序。你可以指定從WEB站點下載安裝程序,壓縮成Setup.exe,或者不壓縮放在第一個磁盤映像中。



在本例中,選擇Select Copy from source media


添加數字簽名和密碼保護
數字簽名面板

數字簽名面板允許你爲應用程序添加數字簽名。數字簽名確保你的應用程序發佈後的代碼,不會被最終用戶修改破壞。
在本例中,保留默認的設置(無數字簽名)

密碼與版權面板
密碼與版權面板允許你爲安裝程序激活密碼保護,爲你的應用程序版權指明特別信息。

在本例中:
保留默認設置(沒有密碼保護與版權信息)

包含.NET Framework(框架)支持與選擇高級設置
.NET Framework面板
NET Framework面板中,指定在發佈中是否包含NET Framework的支持。

在本例中:保留默認設置(不包含NET Framework)

高級設置面板
高級設置面板可以讓你指定與當前發佈有關的附加設置,比如使用的壓縮級別,是否爲SMS發佈創建一個PDF文件。

在本例中,進行下列設置:
  • 使用長文件名
  • 優化大小
  • 生成Autorun.inf-這個生成的文件爲了CD-ROM的自動運行

對於其他設置的信息,在高級設置的面板上單擊HELP按鈕。

檢查你的設置

總結
總結面板顯示了發佈嚮導對當前版本的所有設置。

如果設置正確:
1.選擇Build the Release 複選框
2.單擊Finish 按鈕編譯發佈

編譯過程中的狀態信息會顯示在輸出窗口中。當編譯結束,準備複製到CD上的文件放置在下面的目錄中:
<ProjectFolder>/Tutorial/cdrom/DiskImages/DISK1

你可以在IDE使用Distribute視圖,把編譯的磁盤映像複製到其他的目錄中。

重新編譯項目

當你在教程後面的步驟中修改了項目後,你需要使用工具欄上的Build按鈕,或者從菜單中選擇Build命令,或者直接按F7重新編譯發佈程序。

教程後面的步驟中將解釋如何爲安裝程序創建快捷方式和註冊表數據。

安裝程序故障診斷
運行安裝程序後,如果文件沒有安裝上,檢查項目中下列部分:
  • IDE環境中的列表中的第一個分類,Organize YourSetup選擇GeneralInformation(常規信息)圖標,然後選擇Product Properties(產品屬性)中,檢查INSTALLDIR設置了固定的值。
    在本例中,建議值是“[ProgramFilesFolder]TutorialCo/TutorialApp
  • 檢查你的功能部件已經有了相應的構件和文件
  • 在你更改了安裝程序好,必須通過點擊Build或者按F7來重新編譯項目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章