カスタム アクションの種類 2
このカスタム アクションは、コマンド ラインで起動された実行可能ファイルを呼び出します。
source
実行可能ファイルは、一時バイナリ ストリームから生成されます。 CustomAction テーブルの Source フィールドには、Binary テーブルへのキーが含まれています。 Binary テーブルの Data 列には、ストリーム データが含まれています。 各行に個別のストリームが割り当てられます。
MsiRecordSetStream の後に MsiViewModify を使用してレコードをテーブルに挿入することで、ファイルから新しいバイナリ データを挿入できます。 カスタム アクションが呼び出されると、ストリーム データが一時ファイルにコピーされ、その後、カスタム アクションの種類に応じて処理されます。
型の値
CustomAction テーブルの Type 列には、基本的な数値の種類を指定する次の値を設定します。
定数 | 16 進数 | Decimal (10 進数型) |
---|---|---|
msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData | 0x002 | 2 |
移行先
CustomAction テーブルの Target 列には、Source 列で指定された実行可能ファイルのコマンド ライン文字列が含まれます。
戻り処理オプション
CustomAction テーブルの Type 列に、戻り処理オプションを指定する省略可能なフラグ ビットを設定します。 オプションと値の説明については、「カスタム アクションの戻り処理オプション」をご覧ください。
実行スケジュール オプション
CustomAction テーブルの Type 列に、実行スケジュール オプションを指定する省略可能なフラグ ビットを設定します。 これらのオプションは、カスタム アクションの複数の実行を制御します。 オプションの説明については、「カスタム アクションの実行スケジュール オプション」をご覧ください。
スクリプト内実行オプション
CustomAction テーブルの Type 列に、スクリプト内実行オプションを指定する省略可能なフラグ ビットを設定します。 これらのオプションは、アクション コードを実行、ロールバック、またはコミット スクリプトにコピーします。 オプションの説明については、「カスタム アクションのスクリプト内実行オプション」を参照してください。
戻り値
実行可能ファイルであるカスタム アクションは、成功の場合は値 0 を返す必要があります。 インストーラーは、それ以外の戻り値をすべてエラーと解釈します。 戻り値を無視するには、CustomAction テーブルの Type フィールドに msidbCustomActionTypeContinue ビット フラグを設定します。
解説
実行可能ファイルを起動するカスタム アクションは、通常動的に指定されるプロパティが含まれるコマンド ラインを受け取ります。 これが遅延実行カスタム アクションでもある場合、インストーラーは、インストール スクリプトからカスタム アクションが呼び出された時点で、CreateProcessAsUser または CreateProcess を使ってプロセスを作成します。
データベース テーブルがエクスポートされると、各ストリームは、テーブルに基づく名前が付けられたサブフォルダーに個別のファイルとして書き込まれます。そのファイル名として主キー (Binary テーブルの Name 列) を使用し、既定の拡張子の ".ibd" が付きます。 ファイル システムまたはバージョン管理システムで長いファイル名がサポートされていない場合、名前は 8.3 形式を使用する必要があります。 永続アーカイブ ファイルでは、ストリーム データを、使用したファイル名に置き換えるため、テーブルのインポート時にデータを見つけることができます。
関連トピック