一個完整的Installshield安裝程序實例—---基本設置一

一個完整的IS安裝程序實例,皆來自海洋女神博客

 

正文

需求:公司做了一個軟件產品,

1.         該軟件運行需要JDK環境(不是JRE,因爲該軟件要向windows註冊一個服務,用到了JavaServiceJDK才支持這個功能;不過這裏側重於判斷是否安裝了某軟件是否安裝,而不是糾纏於該裝JDK還是該裝JRE);

2.         由於是Server-Client形式的,需要允許用戶選擇安裝組件,比如A機只裝Server端,B機只裝Client端;

3.         文檔不打包在安裝程序裏,直接存放在光盤文件夾下方便用戶查看,同時允許用戶指定是否安裝文檔到計算機上(爲什麼這樣做,後面說明詳細原因);

4.         該軟件會以授權形式發放給用戶,不同的用戶,軟件本身可能相同,而不同的只是授權文件和一些配置,因此希望授權文件和配置文件不打包在安裝程序裏,而直接存放在光盤裏,以減少可能的重複打包安裝程序的勞動;

5.         在安裝完畢後,希望能自啓動程序(因爲該軟件需要在安裝完畢後啓動一個程序,該程序實現向Windows註冊服務的功能,該程序最好由安裝程序啓動,而不是由客戶手動啓動)。

6.         希望有反安裝程序

本文提到的“外部”指不打包在安裝程序裏的,與安裝程序一起存放在光盤裏的一些文件夾,這些文件夾包含了安裝中所需要的文件,同時也可能有其他用途,因此不適合直接壓縮打包在安裝程序裏。

該實例實現瞭如下功能:

1.         顯示軟件許可協議

2.         判斷是否安裝了本軟件所需要的先決軟件JKD1.6.0_04,如無,則啓動外部安裝程序進行安裝(同樣原理可以用來判斷是否安裝了其他軟件,只要該軟件在註冊表中有鍵值)

3.         安裝允許用戶選擇需要安裝的組件

4.         用戶的輸入信息、所選安裝路徑、所選安裝組件將顯示在安裝界面上(Installshield雖然自帶了此界面,但是默認是顯示爲空的,需要寫腳本來顯示信息)

5.         根據用戶選擇的組件,在開始菜單顯示程序的快捷方式(同樣適用於桌面快捷方式,後面做詳細說明)

6.         根據用戶選擇的組件,從外部文件夾拷貝相應的文件到安裝目標路徑的文件夾中

7.         根據從外部拷貝進來的文件,創建快捷方式(這裏主要是拷貝文檔,並在開始菜單中創建快捷方式)

8.         在安裝結束時,顯示readme.txt文件

9.         在安裝結束後,啓動指定的程序

10.     完美卸載

筆者所用的環境爲Installshield 12 Premier EditionWindows XP with SP2, 該環境下建立的工程可以直接使用在Installshield 2008 Premier Edition下,Installshield 2008在打開Installshield 12所建的工程時會提示你是否需要進行Upgrade,確認即可,軟件會自動爲你進行升級,很方便。

下面我們一步一步來建立一個基本的工程,並且使用腳本來完善和豐富所需功能

 

第一部分:基本設置

 

1.         打開Installshield 12 Premier Edition,新建一個Installscript MSI Project,這種被稱之爲半腳本程序,因爲兼具Basic Project基本類型和Installscript Project全腳本類型兩者的優點,我比較喜歡用。像我這樣需求的,既要用到Wizard的便利,又想寫一點腳本來實現一點自定義操作的,就比較適合用這種類型啦。

選擇類型爲Windows Installer | InstallScript MSI Projcet,輸入工程名,指定工程所在的文件夾。

 

2.         界面會切換到Project Assistant,我們先從這裏開始把工程的基本組件和基本文件建立好。

 

3.      Project Assistant界面的底部,會有一個引導動作條,在建立該工程的基本結構和文件時,我們都將在此界面進行操作,下文都將以“引導條”來指代這個引導動作條。

 

 

4.         點擊引導條上的Application Information

這裏輸入:

公司名,公司名將會出現在Setup.exe的註解中

軟件名,將會出現在安裝過程的左上角標題欄上

版本號,沒看到在哪,不過自己比較方便地知道自己在編譯哪個版本的軟件

公司網址,沒看到在哪,而且如果該公司沒有網址呢?而且這裏有點bug,好像默認的值總是會報一個String_ID1爲空的錯誤,自己輸入一個網址就不會報錯。

是否在你創建了更新時自動通知最終用戶,沒用過,我都選了No

選擇一個圖標,這個圖標會出現在“添加或刪除程序”裏,我一般用默認的,當然你可以替換成自己想要的圖標。

 

5.         點擊引導條上的Installation Requirement

這裏選擇對操作系統和一些軟件的需求。根據自己需要來選擇是否要求操作系統的版本,已經是否要求安裝了某些軟件。

 

6.         點擊引導條上的Installation Architecture

這是個十分有用的設置,對於本文所用的分佈式軟件來說非常合適,分佈式軟件的每個組件可以設置爲一個Feature,用戶可以自由選擇安裝某些功能。

將選項Do you want to customize your Installation選擇爲Yes

點擊選中根節點Installation Architecture,點擊New創建新的Feature,可以爲每個Feature指定新名稱。

還可以在Feature下創建子Feature,比如如果文檔Feature下包括軟件本身文檔,和軟件所需的運行環境的文檔,那麼可以創建兩個子Feature,分別包含兩種文檔,用戶在安裝時就可以選擇安裝部分或者全部文檔了。這裏我們沒有用到子Feature,用途和普通Feature一樣。

 

這裏,建立好所有Feature後,我們將切換到Installation Designer做一個設置

 

 

找到Installation Designer頁面上左邊導航樹Organization | Features分支,你會看到這裏Features都顯示爲原始的名稱,而非我們改過的名字,因爲FeatureNameDisplay Name兩種名稱,我們剛纔改的不過是Display Name,爲了便於查看和使用,我們在這裏把Name也改一下

 

 

注意Name不可以有空格,可以使用下劃線

 

 

繼續切換回Project Assistant

海洋女神博客http://www.cnblogs.com/Cindy_weiwei/archive/2009/05/18/1459542.html

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