ホーム

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

 

MSDN > MSDN Library > Win32 and COM Development > Administration and Management > Application Installation and Servicing > Windows Installer > Windows Installer Guide > Standard Actions > Standard Actions Reference > FindRelatedProducts Action

FindRelatedProducts アクション


FindRelatedProducts アクションは、シーケンス中の Upgrade table のそれぞれのレコードを通り抜け、それぞれの行の アップグレード コード、 プロダクト バージョン、言語を システム上にインストールされたプロダクトと 比較します。 FindRelatedProducts がアップグレード情報とインストールされたプロダクトとの間の一致を検出する 時、それはプロダクト コードを UpgradeTable の ActionProperty カラムに指定されたプロパティに 追加します。

FindRelatedProducts アクションは、初めてプロダクトがインストールされる時にだけ 動きます。 FindRelatedProducts アクションは、メンテナンス モードやアンインストールの間は 動きません。

 

クエリを実行される データベース テーブル

このアクションは、以下のテーブルに問い合わせします:

Upgrade Table

 

使用されるプロパティ

FindRelatedProducts アクションは、起ころうとしているアップグレードによって影響を受ける インストールされたプロダクトを検出するのに Upgrade テーブル中に書かれた UpgradeCode プロパティとバージョンと言語 情報を使用します。 それは、検出されたプロダクトのプロダクト コードを UpgradeTable の ActionProperty カラム中の プロパティに 追加します。

FindRelatedProducts は、 UpgradeCode プロパティ、 ProductVersion プロパティ、 Template Summary プロパティ中にリストされた言語のうちの 1 つである ProductLanguage プロパティの為の値、を定義する .msi で Windows Installer を使ってインストールされてしまっている 既存のプロダクトだけを認識します。

FindRelatedProducts は MsiGetProductInfo によって返される言語を使用する事に 注意して下さい。 FindRelatedProducts が正しく働く為に パッケージ作者は、 Property table 中の ProductLanguage プロパティが Template Summary プロパティ中にも記載されている言語にセットされている事に 自信がなければなりません。 将来のメジャー アップグレードの為の アプリケーションの準備 ( Preparing an Application for Future Major Upgrades ) を見て下さい。

 

シーケンスの制約

FindRelatedProducts は、 InstallUISequence テーブルと InstallExecuteSequence ( 英語 ) テーブル中に 書かれるべきです。 インストーラーは、もしFindRelatedProducts が既に InstallUISequence 中で実行されていると アクションが InstallExecuteSequence 中で動くのを妨げます。 FindRelatedProducts アクションは、 MigrateFeatureStates actionRemoveExistingProducts アクション ( 英語 ) の前に 来なければなりません。

 

ActionData メッセージ

FindRelatedProducts は、システム上で検出する それぞれの同族プロダクトの為のアクション データ メッセージを送ります。