シーケンス テーブルの使用

シーケンス テーブルの作成は、インストーラー パッケージの開発に不可欠な部分です。なぜなら、これらのテーブルを使って、インストール プロセスを制御し、ユーザー インターフェイス ダイアログ ボックスを表示する標準アクションの実行順序を指定するからです。

インストールには 3 つのモードがあり、それぞれのモードに 2 種類のシーケンス テーブルがあります。

インストーラーで現在サポートされている 3 つの個別のインストール モードは次のとおりです。

  • 簡易インストール
  • 管理インストール
  • アドバタイズのインストール

各シーケンス テーブルには、Action、Condition、Sequence という 3 つのフィールドがあります。 Action フィールドには、インストーラーで実行される標準またはカスタム アクション、ユーザー定義ダイアログ ボックス、シーケンスのいずれかを指定します。 作者は Condition フィールドを使って、アクションまたはユーザー定義ダイアログを実行するか表示するかを制御する論理式を指定できます。 Condition フィールドが空白であるか、True に評価される式が含まれている場合、アクションまたはダイアログが実行または表示されます。 式が False に評価された場合、アクションまたはダイアログはスキップされます。 Sequence フィールドには、テーブル内の各アクションまたはユーザー定義ダイアログの実行順序を指定します。

これらの各インストール モードは、ユーザー インターフェイス シーケンス テーブルと実行シーケンス テーブルを処理します。 ユーザー インターフェイス シーケンス テーブルが処理されるのは、ユーザー インターフェイスの表示レベルを Reduced または Full に設定してインストーラーを初期化した場合のみです。 ユーザー インターフェイスの表示レベルの詳細については、MsiSetInternalUI のリファレンスを参照してください。

通常、ユーザー インターフェイス シーケンス テーブルには、ユーザー インターフェイスを介してユーザーに表示されるシステム情報の収集に関連する標準アクションが含まれています。 ユーザー インターフェイスは、dialog テーブルのダイアログ ボックス名の外部キーをユーザー インターフェイス シーケンス テーブルの Action フィールドに記録することで表示されます。 次に、ユーザーには、システム情報を変更するか承諾してインストールを開始する機会があります。これは実行シーケンス テーブルが処理されるときに発生します。

単純なインストールでは、INSTALL 最上位レベル アクションが実行され、InstallUISequence テーブルInstallExecuteSequence テーブルが処理されます。

通常、管理インストールはネットワーク管理者によって開始され、個々のユーザーやユーザーのグループに対してアプリケーションを割り当ててインストールします。 この種類のインストールでは、ADMIN 最上位レベル アクションが実行され、AdminUISequence テーブルAdminExecuteSequence テーブルが処理されます。

アプリケーションまたは機能をアドバタイズするには、ADVERTISE アクションを使ってインストーラーを開始する必要があります。 この種類のインストールでは、AdvtExecuteSequence テーブルが処理されます。

シーケンス テーブルを作成する場合、以下のトピックにある推奨シーケンスから標準アクションのシーケンス番号を使うことをお勧めします。 ForceRebootValidateProductIDInstallExecute など、シーケンス テーブルの標準の位置がない標準アクションの場合、標準アクションとしてアクションを特定するために 10 の倍数であるシーケンス番号を使います。 カスタム アクションの場合は、シーケンス テーブルの標準アクションと区別するために、10 の倍数ではないシーケンス番号を使います。

各シーケンス テーブルの推奨される操作シーケンスについては、以下のトピックを参照してください。

シーケンス テーブルの詳細な説明と標準アクションの実行方法については、「シーケンス テーブルの詳細な例」を参照してください。

**Windows インストーラー 3.0 以降: **

Windows インストーラー 3.0 以降、パッチ パッケージには MsiPatchSequence テーブルを含めることができます。 このテーブルには、他のすべてのパッチに対する小さな更新プログラムのパッチの適用順序を決定するためにインストーラーに必要なすべての情報が含まれています。 詳細については、修正プログラムの適用とアップグレードに関するページを参照してください。

Note

マージ モジュールには、ターゲット .msi ファイルのアクション シーケンス テーブルを変更するマージ モジュール データベース テーブルを含めることができます。 モジュールをデータベースにマージすると、シーケンス テーブルの情報を変更できますが、これらのテーブルは .msi ファイルに追加されません。 詳細については、「マージ モジュール シーケンス テーブルの作成」を参照してください。