首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

InstallShield 8.0 製作安裝程式完整教學

     編輯:關於VC++

前言

InstallShield 是 Windows 平台上最主流的安裝程式製作工具。本文以 InstallShield 8.0 為例,循序漸進說明從建立專案、編譯測試、設定捷徑/登錄/COM 元件、條件安裝、腳本客製化到介面換膚的完整流程,適合初次接觸安裝部署的開發者快速上手。

一、建立、編譯、測試安裝專案

1.1 專案精靈建立流程

  1. 啟動 InstallShield,點選 Start the Project Wizard 或工具列 New Project。
  2. 專案名稱:輸入如 MySetup,產生 MySetup.ism 專案檔 (含所有設定,可攜帶至他機)。
  3. 專案類型:選 InstallScript MSI Project — 使用 InstallScript 驅動 UI,Windows Installer 執行系統變更 (檔案/登錄/捷徑),相容性最佳。
  4. 應用程式資訊:公司名、產品名 (將顯示於控制台「新增/移除程式」)、預設安裝路徑 (建議使用 [ProgramFilesFolder] 變數自動對應目標系統 Program Files 目錄)。
  5. 更新服務:視需求啟用/停用自動更新通知。
  6. 語言選擇:勾選目標語系 (繁體中文、英文等)。
  7. 功能分組:建立 ProgramFiles、HelpFiles 兩個 Feature,方便使用者自訂安裝內容。
  8. 檔案新增:將編譯好的 EXE、DLL、說明文件等拖入對應 Feature,IDE 自動建立路徑變數利於專案移植。
  9. 捷徑/登錄/對話框/皮膚:精靈中可略過,稍後在 IDE 細部設定。
  10. 完成精靈,專案建立完成。

1.2 IDE 進階設定

  • Features 屬性:設定顯示名稱、預設安裝狀態、是否可見等。
  • 安裝類型:對應「最小/典型/完整」三種模式勾選對應 Feature。
  • Files and Folders 視圖:從 Source 機器拖曳檔案至 Destination 目錄樹,自動建立路徑變數。

1.3 編譯發布

  1. 選單 Build → Release Wizard。
  2. 設定輸出資料夾名稱、壓縮選項 (Compress all Files)、媒體類型 (CD-ROM / 網路 / 單一 EXE)。
  3. 語言、.NET Framework 依賴 (視需求包含/排除)、進階選項 (簽章、驗證等)。
  4. 點擊 Finish 開始編譯,輸出 setup.exe 及 .msi / .cab 檔案。

1.4 執行測試

雙擊 setup.exe 驗證安裝流程、UI、檔案部署、捷徑建立、登錄寫入等是否符合預期。

二、捷徑與登錄設定

捷徑建立 (Shortcuts 視圖)

  1. 右鍵 Programs Menu → New Advertised Shortcut。
  2. 選擇目標元件 (如 Imserver.exe)。
  3. 設定捷徑名稱、圖示、工作目錄、參數等屬性。
  4. 同理可建立桌面捷徑、啟動群組捷徑。

登錄修改 (Registry 視圖)

  1. 展開 HKEY_LOCAL_MACHINE\SOFTWARE,新增廠商/產品金鑰。
  2. 新增字串值/ DWORD 值,支援 [INSTALLDIR] 等 InstallShield 展開變數。
  3. 或匯入 .reg 檔案批次寫入。

三、COM 元件註冊

針對 ActiveX / COM DLL (如 G729AEC.dll) 需在目標機註冊:

  1. 開啟 Files and Folders 視圖,選擇目標 Feature。
  2. 右鍵安裝目錄 → Launch Component Wizard。
  3. 選 Let me select a type and define the component myself。
  4. 類別選 COM Component,命名元件。
  5. 目的地選 Install Directory 或 System Folder。
  6. 瀏覽選取 DLL 檔案,完成精靈。InstallShield 會自動在安裝時呼叫 DllRegisterServer。

四、條件安裝

作業系統條件

  1. Setup Design 視圖 → 右鍵 Feature → New Component。
  2. 命名如 WinNT_Files,加入檔案並設為 Key File。
  3. 元件屬性 → OS Conditions → 選 Windows NT 4.0 and Windows 2000。

Windows Installer 條件

使用 VersionNT、MsiNTProductType 等內建屬性撰寫條件運算式,參考線上說明。

五、InstallScript 腳本客製化

InstallScript 採事件驅動模型,所有函數依安裝階段自動觸發。

常用事件函數

  • OnBegin:安裝最早觸發,適合初始化、檢查前置條件。
  • OnFirstUIBefore/After:首次安裝 UI 階段 (複製檔案前/後)。
  • OnMaintUIBefore/After:維護模式 (修復/移除) UI 階段。

範例:在 OnBegin 顯示歡迎訊息

function OnBegin()
begin
    MessageBox("Welcome to the Tutorial installation!", INFORMATION);
end;

編輯腳本後需重新 Build 才生效。

六、安裝介面換膚

InstallScript MSI 專案的對話框顯示邏輯集中於四個函數:

  • OnFirstUIBefore:首次安裝、複製檔案前的所有對話框 (歡迎、授權、客戶資訊、目的地路徑…)
  • OnFirstUIAfter:首次安裝、複製檔案後的對話框 (完成、重啟提示…)
  • OnMaintUIBefore、OnMaintUIAfter:維護模式對應階段。

預設 OnFirstUIBefore 流程

Dlg_Start:
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;
    // ... 後續對話框

可直接修改標題/訊息字串、增減對話框呼叫、插入自訂邏輯。

結語

InstallShield 8.0 功能強大且成熟,掌握上述核心流程即可製作專業級安裝程式。進階主題如:多語系建置、修補程式、數位簽章、自訂動作 (Custom Action) 呼叫 DLL/EXE、升級策略 (Major/Minor Upgrade) 等,建議深入閱讀官方文件與實作演練。

作者:李強 (山大聯潤) | aooang@hotmail.com

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved