自前のアプリケーションのインストーラをInno Setupで作りました。
ネット上の情報では足りず試行錯誤しましたので、備忘録的にまとめておきます。
使用したバージョンは6.0.2です。
なお、下記にデベロッパーガイドがあります。
あわせて参照して下さい。
Inno Setup 日本語 デベロッパーズガイド
全体
設定をグループ分けするものがセクションです。
セクション名は中括弧([])で囲みます。
セクションの中にディレクティブを置いていきます。
ディレクティブは、“ディレクティブ=値”の形式で指定します。
セミコロンで区切って、1行に複数のディレクティブを置いていく場合もあります。
すべてのセクションやディレクティブをカバーできていません。
最小限のインストーラを作るにはという位置付けです。
[Setup]セクション
基本となるセクションです。
アプリケーションの名前や各種のフォルダなどを指定します。
AppName
アプリケーションの名前です。
ウィザードのタイトルバーや「ようこそ」画面で使用されます。
AppName=アプリケーション
AppVerName
アプリケーションのバージョンを含めた名前です。
ウィザードでは基本的に出てきませんが、内部的に使用されるようです。
AppVerName=アプリケーション 1.00
OutputBaseFilename
コンパイルされたインストーラの出力ファイル名のベース部分を指定します。
拡張子は“.exe”となります。
OutputDirで指定するフォルダに保存されます。
OutputBaseFilename=setup
DefaultDirName
インストール時に使用されるインストール先のデフォルトです。
特殊変数{pf}を使うと、“C:¥Program Files”を暗黙に指定できます。
DefaultDirName=c:¥install
DefaultDirName={pf}¥myapp
AppendDefaultDirName
インストール先を「参照」ボタンで変更した場合、DefaultDirNameなどで指定するフォルダの最後のノードを自動的に付加するか指定します。
既定値はyesになっていて、この場合たとえば“{pf}¥install”の“install”が常に付加されます。
noにすれば、選択したフォルダが素直に使われます。
AppendDefaultDirName=no
VersionInfoVersion
インストーラに埋め込むバージョン情報のうちバージョン文字列を指定します。
VersionInfoVersion=2.11.2345.5678
VersionInfoDescription
インストーラに埋め込むバージョン情報のうち説明を指定します。
VersionInfoDescription=プログラムのインストーラ
AppCopyright
インストーラに埋め込む著作権情報を指定します。
AppCopyright=たまデジ。
SetupIconFile
インストーラに設定するアイコンのイメージファイル(*.ico)をフルパスで指定します。
SetupIconFile=C:\Users\user\Documents\app\app.ico
WizardImageFile
インストーラのウィザード画面の背景に使うイメージファイル(*.bmp)をフルパスで指定します。
「ようこそ」画面等で使われる大きなイメージです。
WizardImageFile=C:\Users\user\Documents\app\image.bmp
WizardSmallImageFile
インストーラのウィザード画面の背景に使うイメージファイル(小)(*.bmp)をフルパスで指定します。
ウィザードの途中のステップで使用される、右上に表示される小さなイメージです。
WizardSmallImageFile=C:\Users\user\Documents\app\image_small.bmp
SourceDir
コピーするファイルの起点フォルダを指定します。
SourceDir=C:\Users\user\Documents\app\files
OutputDir
コンパイルされたインストーラの出力先を指定します。ここに、OutputBaseFilenameで指定したファイル名.exeでインストーラが保存されます。
OutputDir=C:\Users\user\Documents\app\output
DefaultGroupName
スタートメニューのグループ名を指定します。
DefaultGroupName=アプリ
DisableWelcomePage
「ようこそ」ページの表示を無効にするか指定します。noなら有効に、yesなら無効になります。
DisableWelcomePage=no
[Files]セクション
コピーするファイルの指定を行うセクションです。
コピー元ファイルの指定が相対パスの場合、[Setup]セクションのSourceDirで指定したフォルダが使用されます。
コピー先の指定が相対パスの場合、[Setup]セクションのDefaultDirNameで指定したフォルダが使用されます(インストール時に変更されたらそれが使用される)。
なお、[Files]セクションでは、SourceとDestDirがペアで使われます。
Source
コピーするファイルの指定です。
ファイル名を個別に記述するほか、ワイルドカードによる指定も可能です。
すべてのファイルの指定は*です。
サブフォルダは対象になりませんので注意して下さい。
DestDir
コピー先の指定です。
特殊変数{app}を指定すると、指定されたインストール先が使用されます。
Source: *; DestDir: "{app}"
Source: data\*; DestDir: "{app}\data"
[Languages]セクション
インストーラが使用する言語を指定します。
あらかじめ入手しておいた言語メッセージファイルを指定します。
なお、[Languages]セクションでは、NameとMessagesFileがペアで使われます。
Name
言語を識別するための名称です。
MessagesFile
言語ごとに指定するメッセージファイルをフルパスで指定します。
Name: japanese; MessagesFile: compiler:Languages\Japanese.isl
[Tasks]セクション
追加のタスクを指定するセクションです。
Name, Description, GroupDescriptionを組にして指定します。
Name
タスクの名称(内容)を指定します。
"DesktopIcon"ではデスクトップにアイコンを作成します。
"QuickLaunchIcon"ではクイック起動にアイコンを作成します。
Description
ウィザード画面に実際に表示されるテキストを指定します。
GroupDescription
タスクをグルーピングするときに、そのグループ名を指定します。
同じグループ名を持ったタスクは一緒にまとめられます。
Name: "DesktopIcon"; Description: "デスクトップにアイコンを作成する"; GroupDescription: "追加のアイコン:"
Name: "QuickLaunchIcon"; Description: "クイック起動アイコンを作成する"; GroupDescription: "追加のアイコン:"
[Icons]セクション
スタートメニューやデスクトップに作成されるショートカットの指定です。
Name, Filename, WorkingDir, Tasksなどを組にして指定します。
Name
アイコンの名称を指定します。
特殊変数{group}はスタートメニューに作成されるグループ(DefaultGroupNameで指定)を表します。
特殊変数{autodesktop}はアイコンが自動生成されるデスクトップを表します。
Filename
アイコンに設定する起動ファイル名です。
特殊変数{app}はインストール先を、{uninstallexe}はアンインストーラプログラム(Inno Setupが自動的に作成)を表します。
WorkingDir
起動するプログラムの作業ディレクトリです。
特殊変数{app}の意味は同じです。
Tasks
[Tasks]セクションで指定したタスクとの関連付けになります。
Name: "{group}\アプリ"; Filename: "{app}\appli.exe"; WorkingDir: "{app}"
Name: "{group}\アプリアンインストーラ"; Filename: "{uninstallexe}"
Name: "{autodesktop}\アプリ"; Filename: "{app}\appli.exe"; WorkingDir: "{app}"; Tasks: "DesktopIcon"
[Run]セクション
インストール終了後に起動するプログラムの指定です。
Filename, Description, Flagsなどを組にして指定します。
Filename
起動するプログラムの指定です。
特殊変数{app}が使えます。
Description
ウィザードに表示する内容です。
Flags
起動についての細かな指定です。
postinstallでは、インストーラ終了後に行う処理になります。
Filename: "{app}\appli.exe"; Description: "アプリを起動する"; Flags: postinstall