ホーム

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

 

MSDN > MSDN Library > Win32 and COM Development > Administration and Management > Application Installation and Servicing > Windows Installer > Windows Installer Guide > Standard Actions > About Standard Actions > Action Execution Order

アクション実行順序


アクション実行の順序は、 sequence tables 中に書かれてしまっているアクションのシーケンスと、それで インストーラがシーケンステーブルを実行する順序によって決定されます。詳細に関しては、 シーケンステーブルの使用 ( Using a Sequence Table ) 中の提案されたアクションシーケンスを見て下さい。

インストーラは、インストール、 advertisement(アドバタイズ)、 administrative installation(管理インストール)のリクエストに答えてシーケンステーブルを 実行します。例えば、/I、/J、/A コマンドラインオプションの使用に答えて、 INSTALL ADVERTISE ADMIN アクションはアクションシーケンス内からは呼ばれません。代わりにインストーラが 初期化される時に、これらのハイレベルアクションはインストーラに渡されます。

もしインストーラが INSTALL アクションを渡され、インストールパッケージがユーザー インターフェース付きで書かれているなら、インストーラは最初に InstallUISequence table 中のアクションを実行し、その次に InstallExecuteSequence テーブル ( 英語 ) 中のアクションを順番通りに実行します。 もしパッケージがユーザーインターフェースを持っていないなら、インストーラは InstallExecuteSequence table 中のアクションを順番通りに実行します。

もしインストーラが ADMIN アクションを渡され、インストールパッケージがユーザー インターフェース付きで書かれているなら、インストーラは最初に AdminUISequence table を実行し、その次に AdminExecuteSequence table を実行します。もしパッケージがユーザーインターフェースを 持っていないなら、インストーラは AdminExecute table を実行します。

もしインストーラが ADVERTISE アクションを渡されたら、インストーラは AdvtExecuteSequence table を実行します。

インストーラは AdvtUISequence table を使いません。AdvtUISequence table はインストールデータベース中に 存在しないか、空のままであるべきです。

インストーラがシーケンステーブルを実行する時、Sequenceカラム中に記載されたシーケンス番号の 順番でActionを実行します。Action順序は常に、分岐や繰り返しなしで直線的です。 パッケージ製作者は、Conditionカラムに論理式を書く事によって 条件付きで個々のActionを 実行させない事ができます。条件が False に評価する時にはいつでも インストーラはActionを スキップします。 シーケンステーブルの使用 ( Using a Sequence Table ) と 条件文シンタクス ( Conditional Statement Syntax ) を見て下さい。

すべてのシーケンステーブルが、以下のカラム(列)を持っています。

カラム(列)説明
Actionテーブルのためのプライマリキー。アクション名はユニークでなければなりません。
Conditionアクションを実行するかどうかを決定するのに用いられる論理式。もしこのフィールドが空白であるか、Trueに評価する式を含んでいれば、アクションが実行されます。もし式をFalseに評価するならアクションは実行されません。
Sequenceアクションが実行される順序を決定するのに用いられる相対的な一連の順序番号。