次の方法で共有


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

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

source

スクリプトは、現在のセッション中にアプリケーションと共にインストールされます。 CustomAction テーブルの Source フィールドには、File テーブルのキーが含まれています。 カスタム アクション コードの場所は、このファイルのターゲット パスの解決によって決まります。そのため、このカスタム アクションは、ファイルがインストールされてから削除されるまでの間に、呼び出す必要があります。

型の値

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

定数 16 進数 Decimal (10 進数型)
msidbCustomActionTypeJScript + msidbCustomActionTypeSourceFile 0x015 21

 

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

定数 16 進数 Decimal (10 進数型)
msidbCustomActionTypeJScript + msidbCustomActionTypeSourceFile + msidbCustomActionType64BitScript 0x0001015 4117

 

移行先

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

戻り処理オプション

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

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

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

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

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

戻り値

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

解説

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

インストールされているファイルをソースとして参照するカスタム アクション (カスタム アクションの種類 21 (JScript) など) は、次のシーケンス制限に従う必要があります。

  • カスタム アクションの順序は、CostFinalize アクションの後にする必要があります。 これは、カスタム アクションが JScript を含むソース ファイルを見つけるために必要なパスを解決できるようにするためです。
  • ソース ファイルがコンピューターにまだインストールされていない場合、この種類の遅延 (スクリプト内) カスタム アクションの順序は、InstallFiles アクションより後にする必要があります。
  • ソース ファイルがコンピューターにまだインストールされていない場合、この種類の非遅延カスタム アクションの順序は、InstallFinalize アクションより後にする必要があります。

Custom_Actions