MsiPatchMetadata テーブル

MsiPatchMetadata テーブルには、パッチを削除するために必要で、[プログラムの追加と削除] で使用される Windows インストーラーのパッチに関する情報が含まれています。

パッチ データベース (.msp ファイル) にこのテーブルがない状態でインストールされたパッチは削除できず、[プログラムの追加と削除] に一部の情報がありません。 テーブルは、パッチ ファイルのデータベース内にあり、パッチ内の変換にはない必要があります。

MsiPatchMetadata テーブルには次の列があります。

Column 種類 キー Nullable
[会社] Identifier Y Y
プロパティ Identifier Y N
[テキスト] N N

 

[列]

Company

会社の名前。 空のフィールド (Null 値) は、行に Windows インストーラーの標準メタデータ プロパティのいずれかが含まれていることを示します。 詳細については、このトピックの「解説」セクションを参照してください。

テーブルに行を追加し、このフィールドに会社名を入力すると、任意の会社を追加してプロパティ セットを拡張できます。

Property

メタデータ プロパティの名前。

Value

メタデータ プロパティの値。 Null または空の文字列にすることはできません。

解説

Windows インストーラー 3.0 以降で使用できます。

CompanyName フィールドに Null 値を含む MsiPatchMetadata テーブル内の行では、次のいずれかの標準 Windows インストーラー メタデータ プロパティを参照します。

プロパティ 説明
AllowRemoval パッチがアンインストール可能なパッチかどうかを示します。 値フィールドに 0 (ゼロ) が含まれている場合、パッチを削除できません。 値フィールドに 1 が含まれている場合、パッチはアンインストール可能なパッチです。このプロパティは登録されており、その値は MsiGetPatchInfoEx 関数を使用して取得できます。
ManufacturerName アプリケーションの製造元の名前。
MinorUpdateTargetRTM パッチが製品の RTM バージョンまたは最新のメジャー アップグレード パッチを対象としていることを示します。 シーケンス情報を含むマイナー アップグレード パッチでこの省略可能なプロパティを作成し、製品の RTM バージョンまで、または最新のメジャー アップグレード パッチまでのすべてのパッチがパッチによって削除されることを示します。 このプロパティは、Windows インストーラー 3.1 以降で使用できます。
TargetProductName アプリケーションまたはターゲット アプリケーション スイートの名前。
MoreInfoURL このパッチに固有の情報を提供する URL。 このプロパティは登録されており、その値は MsiGetPatchInfoEx 関数を使用して取得できます。 Windows XP Service Pack 2 (SP2) 以降では、この値は [プログラムの追加と削除] に表示されるパッチのサポート リンクにできます。
CreationTimeUTC mm-dd-yy HH:MM (月-日-年 時:分) の形式の .msp ファイルの作成時間。
DisplayName 公開しても問題ないパッチのタイトル。 このプロパティは登録されており、その値は MsiGetPatchInfoEx 関数を使用して取得できます。 Windows XP SP2 以降では、この値は [プログラムの追加と削除] に表示されるパッチの名前です。
説明 問題の簡単な説明。
分類 パッチの作成者によって定義されている更新プログラムの任意のカテゴリを含む文字列値。 たとえば、パッチ作成者は、各パッチを修正プログラム、セキュリティのロールアップ、緊急更新プログラム、更新プログラム、Service Pack、または更新プログラムのロールアップとして分類するように指定できます。 このプロパティは必須です。
OptimizeCA Windows インストーラーで、パッチを適用するときにカスタム アクションをスキップする必要があるかどうかを示します。 これにより、パッチの適用に必要な時間を短縮できます。 OptimizeCA プロパティの値は、次のいずれかです。
  • 0 - カスタム アクションをスキップしない。
  • 1 - プロパティとディレクトリ割り当てのカスタム アクションをスキップする。 カスタム アクションの種類 35カスタム アクションの種類 51 は、プロパティとディレクトリ割り当てのカスタム アクションにすることができます。
  • 2 - プロパティまたはディレクトリの割り当てに分類されない即時のカスタム アクションをスキップする。 直接のカスタム アクションでは、CustomAction テーブルの Type 列に msidbCustomActionTypeInScript オプションが含まれません。
  • 4 - スクリプト内で実行されるカスタム アクションをスキップする。
OptimizeCA の値は、インストールされているすべてのパッチで同じである必要があります。そうではない場合、カスタム アクションはスキップされません。 たとえば、2 つのパッチがインストールされていて、OptimizeCA がそれぞれ値 1 と 2 に設定されている場合、カスタム アクションはスキップされません。
OptimizeCA の値は、複数の新しいパッチを処理するときに組み合わせることができます。 すべてのパッチで値に 1 が含まれている場合、すべてのプロパティとディレクトリ割り当てのカスタム アクションがスキップされます。 1 つのパッチのプロパティの値が 3 で、1 つのパッチのプロパティの値が 1 の場合、プロパティとディレクトリ割り当てのカスタム アクションはスキップされます。 ただし、要求されたすべてのパッチがスキップされるわけではないため、他の即時カスタム アクションは実行されます。
OptimizedInstallMode トランザクションで適用されるすべてのパッチでこのプロパティが 1 に設定されている場合、可能であればパッチの適用が最適化されます。 詳細については、パッチの最適化に関する記事を参照してください。 Windows インストーラー 3.1 以降で使用できます。

 

検証

ICE03
ICE06

Windows インストーラー 2.0 以前ではサポートされていません