PATCH プロパティ
インストーラーは、PATCH プロパティを、MsiApplyPatch、MsiApplyMultiplePatches、または /p コマンド ライン オプション呼び出すことによって適用されるパッチの一覧に設定します。 MsiInstallProduct または /i コマンド ライン オプションを使用してパッケージをインストールするときに、コマンド ラインで PATCH プロパティを設定することもできます。
PATCH プロパティの値は、インストールされているパッチの一覧です。 リスト内の各パッチは、パッチのパッケージ (.msp ファイル) への完全なパスで表されます。リスト内の完全なパスはセミコロンで区切られます。
Windows インストーラー 2.0: 複数のパッチはサポートされていません。 複数のパッチを適用するには、Windows インストーラー 3.0 が必要です。
備考
Msimsp.exe と Patchwiz.dll を使用してパッチ パッケージを作成する場合は、特定のパッチが適用されている場合にのみアクションまたはダイアログ ボックスを実行することを指定できます。 パッチ パッケージ (test.msp など) を作成するときは、製品のアップグレードされたイメージとパッチ作成プロパティ ファイルを作成します。 パッチ作成プロパティ ファイルを作成するときに、ImageFamilies テーブルの MediaSrcPropName フィールドに、PATCHFORTEST などのプロパティ名を入力できます。 製品のアップグレードされたイメージのシーケンス テーブルを作成するときに、シーケンス テーブルの [条件] 列に、条件付きにするアクションまたはダイアログ ボックスの条件付きステートメントを含めることができます。
たとえば、次の条件ステートメントを使用して、test.msp が適用されている場合にのみアクションまたはダイアログ ボックスを実行できます。
- PATCH および PATCHFORTEST と PATCHFORTEST >< PATCHFORTEST
手記
PATCH プロパティには複数のパッチを含めることができるため、equals 演算子 "=" ではなく、部分文字列演算子 "><" を使用して特定のパッチが存在することをテストします。 条件ステートメントの詳細については、「条件ステートメントの構文」セクションを参照してください。
test.msp を含むパッチの一覧を適用すると、インストーラーによって両方のプロパティが設定されます。 たとえば、/p コマンド ライン オプション を使用して、2 つのパッチの一覧を適用できます。
msiexec /qb /p \\scratch\XYZ\Patchs\test.msp;\\scratch\XYZ\bar.msp
インストーラーは、PATCH プロパティと PATCHFORTEST プロパティを次のように設定します。
- PATCH=\\\scratch\\scratch\\XYZ\\Patchs\\test.msp;\\\scratch\\xyz\\bar.msp PATCHFORTEST=\\\\scratch\\scratch\\XYZ\\Patchs\\test.msp
この場合、条件は TRUE で、上記の条件付きアクションまたはダイアログ ボックスは、インストールされているパッチ 、test.msp、bar.msp ごとに実行できます。
test.msp が適用されていない場合、インストーラーはそれを PATCH プロパティに含めず、PATCHFORTEST を設定しません。 この場合、上記の条件は FALSE で、条件付きアクションまたはダイアログ ボックスは実行されません。
必要条件
関連項目
-
条件付きステートメント構文 の 例