ホーム

私訳です。より確かな記述は MSDN (英語)を直接読んで下さい。

 

MSDN > MSDN Library > Win32 and COM Development > Administration and Management > Application Installation and Servicing > Windows Installer > Windows Installer Reference > Installer Database > Using the Installer Database > Using a Sequence Table

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


シーケンステーブルのオーサリングは、これらのテーブルが インストールプロセスを制御して ユーザーインタフェースダイアログボックスを表示する スタンダード アクション ( standard actions ) のために実行の順序を指定するので、インストーラパッケージを開発する 必要不可欠の部分です。

インストールの3つのモードと各モードのための2つのタイプのシーケンステーブルがあります。

現在インストーラによりサポートされている3つの別々のインストールモードは、以下の通りです:

シーケンステーブルはそれぞれ、3つのフィールドを持っています: Action、Condition、Sequence です。Actionフィールド名は、スタンダードやカスタムアクションか、ユーザー定義のダイアログ ボックスか、インストーラが実行するシーケンスのどれかです。Conditionフィールドは作者に、 アクションやユーザー定義ダイアログが実行や表示されるかどうかを制御する論理式を 指定すること を可能にします。もしConditionフィールドが空白であるかTrueに評価する式を含んでいるなら、 アクションかダイアログは実行や表示されます。もし式をFalseに評価するなら、アクションや ダイアログはスキップされます。Sequenceフィールドは、テーブル中のそれぞれの アクションや ユーザー定義ダイアログの実行の順序を指定します。

これらのインストールモードはそれぞれ、ユーザーインタフェース シーケンステーブルと実行 シーケンステーブルを処理します。ユーザーインタフェース シーケンステーブルは、インストーラが ユーザーインタフェース ディスプレイレベルを Reduced か Full で初期化された時にだけ、処理 されます。ユーザーインタフェース ディスプレイレベルについての より多くのインフォメーションに 関しては MsiSetInternalUI リファレンスを見て下さい。

ユーザーインタフェース シーケンステーブルは通常、ユーザーインタフェースを通してユーザに 表示されるシステム情報の収集に結び付けられているスタンダードアクションを含んでいます。 ユーザーインタフェースは、ユーザーインタフェース シーケンステーブルのActionフィールドの dialog table 中のダイアログボックスの名前に 外部のキーを記録する事によって表示されます。 その次にユーザーが、システム情報を変更や承諾して、実行シーケンステーブルが処理される時に 起こる、インストールを始める機会を持ちます。

シンプル インストールの間、 INSTALL トップレベル アクションが実行され、その結果、 InstallUISequence tableInstallExecuteSequence テーブル ( InstallExecuteSequence table ) が処理されます。

管理インストールは通常 ネットワーク管理者によって、アプリケーションを 個々のユーザとユーザの グループのために割り当てとインストールする事を始められます。このタイプのインストールの間、 AdminUISequence table AdminExecuteSequence table を処理する ADMIN トップレベル アクションが実行されます。

アプリケーションやフィーチャーを advertise(アドバタイズ)するには、インストーラは ADVERTISE アクションで開始されなければなりません。このタイプのインストールの間、 AdvtExecuteSequence table が処理されます。

シーケンステーブルをオーサリングしている時、スタンダードアクションに 以下のトピックス中の 提案されたシーケンスからシーケンス番号を使用するのは、優れた習慣です。 ForceReboot ValidateProductID InstallExecute といったシーケンステーブル中に標準的な位置を持たないスタンダード アクションに関しては、アクションをスタンダードアクションとして認識するのに10の倍数である シーケンス番号を使用して下さい。カスタムアクションに関しては、シーケンステーブル中でそれを スタンダードアクションと区別するのに10の倍数でないシーケンス番号を使用して下さい。

各シーケンステーブルのための提案されたアクションシーケンスに関しては、以下のトピックスを 見てください:

シーケンステーブルの詳しい説明とどのようにスタンダードアクションが実行されるかに関しては、 sequence table detailed example を見てください。

Windows Installer 3.0 以降:
Windows Installer 3.0から、パッチパッケージは MsiPatchSequence table を含むことができます。このテーブルは、インストーラが 他のすべての パッチに関連して小さいアップデートパッチの適用のシーケンスを決定するのに必要とする すべての情報を含んでいます。より多くのインフォメーションに関しては、 パッチとアップグレード ( Patching and Upgrades ) を見てください。

Merge Modules は、ターゲット .msi ファイルのアクション シーケンステーブルを変更する Merge Module Database Tables を含んでいるかもしれません。モジュールのデータベースへの マージは、シーケンステーブル中の情報を変更する事ができますが、これらのテーブルを .msi ファイルへ追加はしません。より多くのインフォメーションに関しては、 Authoring Merge Module Sequence Tables を見て下さい。