底下我將比較常用的script列出來
[Setup] ; 設定頁面
AppName=MyApp ; 程式名稱
AppVerName= MyApp 2.0 ; 程式版本名稱
AppVersion=2.0.0.456 ; 版本
DefaultDirName={pf}\MyApp ; 安裝的預設目錄 {pf}是指Program Files
DefaultGroupName=MyApp ; 在「開始/程式集」的目錄
Compression=lzma ; 壓縮的方式
SolidCompression=yes ; 安裝程式是分佈多個檔案或是合併成一個檔案
OutputDir=..\..\bin\ ; 輸出安裝程式的目錄
OutputBaseFilename=MyApp 2.0.0 ; 輸出安裝程式的名稱
[Files] ; 你要發佈的檔案清單
; Source: 來源路徑
; DestDir: 目地目徑,{app}可能是DefaultDirName或user自訂
Source: MyApp.exe; DestDir: {app};
Source: MyApp.dll; DestDir: {app};
Source: help.txt; DestDir: {app}\help; Flags:
[Dirs] ; 要建立的目錄
; Name: 要建立的目錄路徑,其中{userappdata}是指user的My Documents目錄
Name: "{userappdata}\MyApp";
[Icons] ; 要建立的shortcut
; Name: shortcut的名稱,其中{group}可能是DefaultGroupName或user自訂
; Fileanme: shortcut要對映的名稱
; WorkingDir: shortcut的預設執行目錄 (這要記得加喔!)
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"; WorkingDir: {app};
; {uninstallexe}是指uninstall的路徑
Name: "{group}\Uninstall"; Filename: "{uninstallexe}"; WorkingDir: {app};
[Run] ; 要執行的程式
; Filename: 程式名稱
; Description: 你的程式描述
; Flags:
; postinstall: 安裝程式後才會執行
; nowait: 安裝程式不會等待程式執行完畢,並且繼續下一步動作
Filename: "{app}\MyApp.exe"; Description: "Launch application"; Flags: postinstall nowait
更多設定項目請參考Inno Setup附的example或是help。
或是參考FAQ、Knowledge Base、Mailing List
Inno Setup可以透過簡單的pascal語法來寫一些程式,例如自訂畫面、資源檢查或是檔案的操作,如果嫌Inno Setup的指令太少,那你可以外掛一些用C寫的dll來和pascal配合,來增加Inno Setup的指令及功能。
底下是一個簡單在Welcome的畫面時顯示MsgBox。
procedure CurPageChanged(CurPageID: Integer);
begin
if (CurPageID= wpWelcome) then begin
MsgBox('Welcome to Inno Setup.', mbInformation, MB_OK);
end;
end;
另外,網路上很多人為Inno Setup寫了一些額外的套件,可以直接使用UI來設定script或是增加#include來引用已寫好的script等功能,有興趣的可以下載Third-Party QuickStart Packs來玩玩。
結論:
Inno Setup是一個免費又簡單好用的安裝程式。 :)
下載 (Downloads):
1. Inno Setup Stable Release - 主程式
2. Third-Party QuickStart Packs - 包含常用的third-party元件
一些Inno Setup的技巧:
1. Inno Setup 包裝 Visual C++ runtime library
2. Inno Setup 如何在安裝程式前,先檢查並關閉之前的程式
3. more
Reference:
1. Inno Setup
1 則留言:
很好的中文tutorial, thanks
張貼留言