基本的な記述について
[Files] セクションでは、インストールするファイルについての記述を行います。書式 Source: [ファイル] ; DistDir: [インストール先] ; [オプション] |
|
Source で記述する内容について インストーラをビルドするときに、ソースとなるファイルのパスを指定します。特定ディレクトリ以下のファイルを全て含めたい場合は、ワイルドカード(*) を使います。 例) Source: "c:\files\*" また、[Setup] セクションで、ソースディレクトリを指定することもできます。 以下の記述がある場合には、Source: で指定するファイルは、絶対パス指定を行わない限り、SourceDir で指定したディレクトリ以下と見なされます。 [Setup] SourceDir=c:\files |
|
DistDir で記述する内容について インストール時に、ファイルをコピーする先のディレクトリを指定します。 「インストール先の指定」ウィザードページを使用している場合には、定数 {app} で、インストールディレクトリを記述することができます。 例) Source: file.txt ; DistDir: {app} 上記の例の場合には、「インストール先の指定」ウィザードページで指定されたディレクトリ下に、file.txt がインストールされます。 Inno Setup で使用できる定数については、 ヘルプ:「使い方」-「定数」を参照してください。 |
投稿者 yamadas : 2006年08月16日 12:00 固定リンク
インストール時にパーミッションを変更する
Permissions オプションを使用することでインストール時にパーミッションを変更することができます。
ディレクトリに対してパーミッションを変更したい場合には、
[Dirs] セクションに記述します。
パーミッション設定は、「対象ユーザー/グループ」-「操作」の形で
指定します。
「対象グループ/ユーザー」に記述できるのは以下になります。
Inno Setup での記述 | Windowsでのグループ |
---|---|
admins | Administrators ( 管理者グループ ) |
authusers | Authenticated Users |
everyone | Everyone ( 全員 ) |
powerusers | Power Users |
system | SYSTEM |
users | Users ( 一般ユーザー ) |
「操作」に記述できるのは以下になります。
Inno Setup での記述 | 操作できる内容 |
---|---|
full | modify でできることに加えて、パーミッションの変更を行うことができる。 |
modify | 読み込み / 変更 / 実行 / 削除 を行うことができる。 |
readexec | 読み込み / 実行 を行うことができる。 |
記述例 ・管理者グループのみ全ての操作を行うことができるようにする Source:file.txt; DistDir:{app};permissions:admins-full ・全員がパーミッション変更以外の操作を行うことができるようにする Source:file.txt; DistDir:{app};permissions:everyone-modify ・一般ユーザーが、読み込み/実行 のみ行えるようにする Source:file.txt; DistDir:{app};permissions:users-readexec ・全員が全ての操作を行えるディレクトリ名「db」を作成する [Dirs] Name: {app}\db;Permissions: everyone-full |
投稿者 yamadas : 2006年08月16日 11:00 固定リンク
インストール終了時に表示するファイルを指定する
インストール終了後に Readme 等の表示したいファイルがある場合には「Flags: isreadme」オプションを使用することで、
インストール終了ウィザードページから Readme ファイル表示を行うことができます。
記述例 [Files] Source: "MyProg.hlp"; DestDir: "{app}"; Flags: isreadme |
|
インストール終了ウィザードページで表示確認UI を表示する。 |
投稿者 yamadas : 2006年08月16日 10:00 固定リンク
インストール処理実行の条件を設定する
「あるファイルが存在している場合にはインストールしない」等の条件によってインストール処理を行うかを指定したい場合には
Check パラメータを使用します。
Check パラメータは、[Files] セクション以外でも使用することができます。
書式 Check : 関数名 サポート関数以外の関数を指定する場合には、 [Code] セクションで関数を定義します。 |
|
記述例:
既に存在している場合には、インストールしない [Files] Source: file.txt; DestDir: {app}; Check: isFileExist [Code] function isFileExist():Boolean; begin Result := FileExists( ExpandConstant('{app}\file.txt') ); end; |
|
記述例: インストール先に「db」ディレクトリが存在しなければ作成する [Dirs] Name: {app}\db; Check:isDbDirExist [Code] function isDbDirExist():Boolean; begin Result := DirExists( ExpandConstant('{app}\db') ); end; |
Check パラメータについての詳細は、ヘルプ:「パスカル・スクリプト」-「Check パラメータ」を
参照してください。
投稿者 yamadas : 2006年08月16日 09:00 固定リンク
インストール中に実行するファイルを用意する
インストーラ実行中に他のインストーラを実行する、といったアーカイブ内に用意したファイルを実行する場合には、以下の記述を行います。
1. | [Files] セクションで、実行ファイルを Flag: dontcopy オプションを付けて記述して、アーカイブ内に含める。 |
2. | [Code] セクションで、実行したいファイルを一時ディレクトリに置く |
3. | [Code] セクションで、「2.」のファイルを実行する |
記述例: インストーラ内で、PHP のインストーラ(php-installer.exe)を実行する。 [Files] Source: php-installer.exe; Flags: dontcopy [Code] // 一時ディレクトリに置く ExtractTemporaryFile( 'php-installer.exe' ); // インストーラを実行する Exec(ExpandConstant('{tmp}\')+'php-installer.exe' , '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode); ※ 実行結果を受ける変数として ResultCode を定義しておく必要があります。 |
投稿者 yamadas : 2006年08月16日 08:00 固定リンク