カスタム アクションの種類 5

このカスタム アクションは、ECMA 262 などの JScript で記述されます。 Windows インストーラーは JScript 1.0 をサポートしていません。 詳細については、「スクリプト」を参照してください。

source

スクリプトは、一時バイナリ ストリームから生成されます。 CustomAction テーブルの Source フィールドには、Binary テーブルのキーが含まれています。 Binary テーブルの Data 列には、ストリーム データが含まれています。 各行に個別のストリームが割り当てられます。

MsiRecordSetStream の後に MsiViewModify を使用してレコードをテーブルに挿入することで、ファイルから新しいバイナリ データを挿入できます。 カスタム アクションが呼び出されると、ストリーム データが一時ファイルにコピーされ、その後、カスタム アクションの種類に応じて処理されます。

Type の値

CustomAction テーブルの Type 列には、32 ビット カスタム アクションの基本的な数値型を指定する次の値を設定します。

定数 16 進数 Decimal (10 進数型)
msidbCustomActionTypeJScript + msidbCustomActionTypeBinaryData 0x05 5

 

Windows インストーラーは、64 ビット オペレーティング システムで 64 ビット カスタム アクションを使用できます。 スクリプトに基づく 64 ビット カスタム アクションでは、数値の種類に msidbCustomActionType64BitScript ビットを設定する必要があります。 詳細については、「64 ビット カスタム アクション」を参照してください。 CustomAction テーブルの Type 列には、64 ビット カスタム アクションの基本的な数値の種類を指定する次の値を設定します。

定数 16 進数 Decimal (10 進数型)
msidbCustomActionTypeJScript + msidbCustomActionTypeBinaryData + msidbCustomActionType64BitScript 0x0001005 4101

 

移行先

CustomAction テーブルの Target フィールドには、省略可能なスクリプト関数が含まれています。 処理時には、最初に解析用にスクリプトを送信してから、省略可能なスクリプト関数を呼び出します。

戻り処理オプション

CustomAction テーブルの Type 列に、戻り処理オプションを指定する省略可能なフラグ ビットを設定します。 オプションと値の説明については、「カスタム アクションの戻り処理オプション」をご覧ください。

実行スケジュール オプション

CustomAction テーブルの Type 列に、実行スケジュール オプションを指定する省略可能なフラグ ビットを設定します。 これらのオプションは、カスタム アクションの複数の実行を制御します。 オプションの説明については、「カスタム アクションの実行スケジュール オプション」をご覧ください。

スクリプト内実行オプション

CustomAction テーブルの Type 列に、スクリプト内実行オプションを指定する省略可能なフラグ ビットを設定します。 これらのオプションは、アクション コードを実行、ロールバック、またはコミット スクリプトにコピーします。 オプションの説明については、「カスタム アクションのスクリプト内実行オプション」を参照してください。

戻り値

スクリプトで記述された省略可能な関数は、「JScript および VBScript カスタム アクションの戻り値」で説明されている値のいずれかを返す必要があります。

解説

JScript または VBScript で記述されたカスタム アクションには、Session オブジェクトのインストールが必要です。 インストーラーは、Session オブジェクトを Session という名前のスクリプトにアタッチします。 インストール ロールバック中に Session オブジェクトが存在しない可能性があるため、スクリプトで記述された遅延カスタム アクションでは、「遅延実行カスタム アクションのコンテキスト情報の取得」セクションで説明されている Session オブジェクトのいずれかのメソッドまたはプロパティを使用して、そのコンテキストを取得する必要があります。

データベース テーブルがエクスポートされると、各ストリームは、テーブルに基づく名前が付けられたサブフォルダーに個別のファイルとして書き込まれます。そのファイル名として主キー (Binary テーブルの Name 列) を使い、既定の拡張子の ".ibd" が付きます。 ファイル システムまたはバージョン管理システムで長いファイル名がサポートされていない場合、名前は 8.3 のファイル名形式を使う必要があります。 永続アーカイブ ファイルでは、ストリーム データは、使われているファイル名に置き換えられるため、テーブルのインポート時にデータを見つけることができます。

Custom_Actions