天天看點

Install Shield的使用介紹

前言

當我們在經曆了長久的宿夜匪懈之後,完成了一個令自己自豪的程式。此時我們就必須為作品撰寫安裝程式,在傳統的Windows程式設計領域中,撰寫安裝程式也是一門學問。在早期Windows的進階名家Jeffery Richter所撰寫的一本經典書籍:Windows 3.1: A Developer's Guide一書中,即有一章是在說明如何撰寫一個安裝程式。

然而近幾年來,軟體元件的使用已成慣例,愈來愈多的有用的軟體元件或工具程式相繼被開發出來,而安裝程式 (Install Program) 即為其中頗具代表性的一員。翻開程式員樂園雜志 (Programmer's Paradise ),即可看到許多這類的産品。其中Install Shield即為其中的佼佼者。

在昔日,軟體公司或個人工作室除非自行撰寫安裝程式,否則就必須花錢購買一套安裝工具程式。然而,如今由於編譯器廠商競争激烈,是以多半都會附上一套陽春版的安裝工具程式,如C++Builder、Visual C++ 等都随産品附上一套安裝工具程式。

而它們的共同選擇就是Install Shield,由此可見Install Shield在安裝程式的領域中實已奠定其穩定的基石,為各大廠商所使用。現在我就為你介紹Install Shield的使用方式。

Install Shield的C++ Builder版本

Install Shield随廠商附送的版本會針對各廠商的特殊需求做額外的處理,例如C++Builder附送的Install Shield版本會針對Borland Database Engine 、SQL Link及C++Builder的RTL (Runtime-Library)增加額外的選項,見圖一。

Install Shield的使用介紹

圖一 Install Shield C++Builder Editition的額外選項。

而Visual C++ 版本也會針對ODBC、DAO等做額外的處理。見圖二。

在此我們讨論的對象以C++Builder的版本為主。不過基本上它們都是共通的,是以若是你學會了這一套,你也同時掌握了其他版本的主要部份,隻要對其差異部份稍加注意即可。

開啟一個新的Project

在此我們以本書中的email程式 - bcbmail來說明安裝程式的設定。首先我們必須開啟一個新的安裝程式專案。如圖叁。

Install Shield的使用介紹

圖叁 開啟一個新的專案檔。

在設定完專案名稱及目錄路徑後,我們就可以按【Create】來建立一個新的專案檔了。附帶說明一點,該專案檔是以IWZ為名,以此範例而言,你就得到一個名為bcbmail.iwz的專案檔。

Install Shield完全攻略

在建立一個新的專案檔後,你就可以開始逐項設定安裝程式所需之資訊了。圖四為我們所需設定的項目,其中打勾的部份表示已經設定過的項目,未打勾的項目則為尚未設定的項目。

你并不需要一一設定所有的項目,隻有在需要時在設定即可。舉例來說,若你不需修改Registry,那麽你就不必去設定 【Make Registry Changes】項目。

以下我會以bcbmail為例子逐項說明之。以bcbmail為例是因為它不僅是一個完整的範例,同時也使用到了Borland Database Engine,是以你可以由此學習到一個使用BDE的應用程式,在利用Install Shield來制作其安裝程式時,所需注意的事項。

Install Shield的使用介紹

圖四 Install Shield的各個細部選項。

設定程式外觀及目錄

首先在【App Info】分頁設定程式名稱、可執行檔名稱、版本号碼、内定程式安裝目錄等訊息。見圖五。

Install Shield的使用介紹

圖五 設定程式目錄及相關訊息。

接着設定是否使用Bitmap或是文字來做為背景。在此我使用文字做為背景文字,你也可以使用圖案為背景,不過在C++Builder附送的版本隻能支援16色的圖案,是以你不可以使用超過16色以上的圖案做為背景圖案。

同時我們也可以選擇背景的顔色,在本範例中我選用最常為大家使用的漸層藍色做為安裝程式的背景顔色。

以上設定見圖六

Install Shield的使用介紹

圖六 設定文字及背景顔色。

此外我們還可以決定是否要提供反安裝程式,在本例中,我選擇提供自動反安裝。見圖七

Install Shield的使用介紹

圖七 提供反安裝程式。

設定C++Builder的額外選項

由於bcbmail使用了Borland Database Engine (BDE)做為儲存信件的工具,是以我們必須安裝 BDE,此時我們隻要将BDE的選項打勾即可。見圖八。

Install Shield的使用介紹

圖八 設定Borland Database Engine (BDE)

除此之外,我們尚可對BDE做逐項設定,如此便可選擇性地安裝 BDE,隻選擇必要的檔案安裝即可。在本例中,因為bcbmail使用的是Paradox資料庫,是以我們隻要安裝Paradox的資料庫引擎即可。(圖九之一)

再來若是你使用了别名 (Alias)的話,還必須設定 Alias,将使到到的Alias名稱加入清單中。(圖九之二)。而後你可以選擇是否将設定儲存。(圖九之叁)。最後就是一一設定各個别名 (Alias)。别名的性質包含使用的資料庫類别、路徑、及必要的參數。

完成以上程式後,我們就将C++Builder的額外選項設定完成了。

Install Shield的使用介紹
圖九之一 選擇資料庫引擎
Install Shield的使用介紹
圖九之二 加入别名(Alias)。
Install Shield的使用介紹

圖九之四 設定各個别名的性質。

設定群組及檔案元件

在完成了BDE的設定之後,我們就可以設定各個程式群組及檔案。首先你會看到如下的畫面,由於先前我們指定使用了 BDE,是以除了一般的程式群組之外,另外又多了叁個BDE相關的檔案。(圖十)

Install Shield的使用介紹

圖十 設定程式群組

使用檔案管理者

設定程式群組必須使用檔案管理者以Drag&Drop的方式将檔案加入,此時我們可以執行 【Launch Explorer】來執行檔案管理者,然後将程式所需的檔案一一置入檔案清單中(圖十一)。

Install Shield的使用介紹

圖十一 利用檔案管理者将所需檔案以Drag&Drop方式置入清單中。

另外有一點必須要特别注意,由於Install Shield并不會自動将BDE的中文驅動程式加入清單内,是以你還必須自行找出電腦中BDE所在位置,然後将中文驅動程式FAREAST.BLL加入清單中(圖十二)。

Install Shield的使用介紹

圖十二 加入中文驅動程式。

設定安裝程式的對話盒

Install Shield可以由使用者決定安裝程式中出現的對話盒。你可以自行決定該對話盒出現與否,一般來說Install Shield會替我們設定内定值,若你沒有額外的設定,直接沿用即可(圖十叁)。

Install Shield的使用介紹

圖十叁 設定對話盒使用與否

設定Registry

大部份的程式都沒有使用到 Registry。但是有些程式,如使用VxD的驅動程式以及以BDE都會利用Registry來記載參數。由於C++Builder内附的Install Shield版本會自動為BDE修改Registry ,是以我們不須做額外設定。但是若你的程式利用Registry來記載參數的話,就必須在Install Shield中一一設定之(圖十四)。

Install Shield的使用介紹

圖十四 Registry的設定畫面

設定檔案夾及ICON

設定檔案夾及ICON是安裝程式必備的功能,我們可以在Windows系統中為我們的程式開一個檔案夾,并設定各個可執行檔的 ICON,如此一來使用者在執行完安裝程式後即可經由【開始】工具列中找到程式,然後執行它了(圖十五)。

Install Shield的使用介紹

圖十五 設定程式的檔名及其ICON

測試程式及母片制造

在完成以上設定之後,我們就可以先行測試此程式,Install Shield提供了一個很友善的方法讓我們可以直接在整合環境中測試安裝程式,你隻要直接選擇TestRun即可。不過在測試之前,你必須将先前所做的設定,交由Install Shield産生母片,它共提供CD-ROM、 120MB、1.44MB及1.2MB四種不同的母片型式,你可以依自己的需要指定之(圖十六)。

結論

在母片測試無誤後,你就可以直接将母片交由其他人安裝執行,或是量産了。看完了以上的介紹你是否躍躍欲試呢?基本上,我認為Install Shield在實在大大地簡化了安裝程式的寫作,從此我們再也不必為撰寫複雜的安裝程式,一切的工作都可交由Install Shield在彈指間完成。

Install Shield的使用介紹
圖十六 指定母片型态