Windows インストーラー 3.0 でリリースされた PATCHWIZ.DLL のバージョンでは、パッチシーケンス情報を自動的に生成し、新しいパッチを MsiPatchSequence Table に追加できます。
.pcp ファイルの Properties Table で SEQUENCE_DATA_GENERATION_DISABLED プロパティを 1 に設定すると、パッチ シーケンス情報が自動生成されません。 このプロパティがない場合は、情報が自動的に生成され、追加されます。
Windows インストーラー 3.0 でリリースされた PATCHWIZ.DLL を使用してパッチシーケンス情報を自動的に生成すると、次のことが発生します。
TargetImages テーブルに一覧表示されているターゲット イメージの製品コードごとに、MsiPatchSequence テーブル に新しい行が追加されます。
新しい行の PatchFamily 列に追加される値は、TargetImages テーブルに一覧表示されているターゲット イメージのターゲット製品コードに対応します。
新しい行の [シーケンス] 列に追加された値は、パッチの対象となる最も高い製品バージョンと、パッチが生成されたときの UTC 時刻を使用して生成されます。 シーケンス番号は製品マイナー バージョン><です。<ビルドメジャー番号>.<タイム スタンプ 1>.<タイム スタンプ 2>.
- 最初のフィールドは、パッチの対象となる製品の最上位バージョンの製品バージョンです。
- 2 番目のフィールドは、パッチの対象となる製品の最上位バージョンのビルド メジャー番号です。
2 つのタイム スタンプ フィールドは、世界協定時刻 (UTC) の秒数をカウントするために必要な 32 ビットのタイム スタンプを表します。
手記
製品バージョンの形式は次のとおりです。製品メジャー バージョン><。<製品マイナー バージョンの>。<ビルドメジャー番号>.<ビルドマイナー番号> とバージョン番号が 2.1.0.0 の製品は、バージョン番号が 1.2.0.0 の製品よりも上位のバージョンです
msidbPatchSequenceSupersedeEarlier 属性は、サービス パック (SP) またはマイナー アップグレード パッチ用に生成される新しい行の属性列に入力されます。 msidbPatchSequenceSupersedeEarlier 属性は、QFE または小さな更新プログラムのパッチには追加されません。
手記
Service Pack (SP) には、その前にリリースされたすべての QFE の修正が含まれている必要があります。 ただし、パッチ作成者が .pcp ファイルで SEQUENCE_DATA_SUPERSEDENCE プロパティを 0 (ゼロ) または 1 (1) に設定した場合、MsiPatchSequence テーブル内のすべての行の Attributes 列は、SEQUENCE_DATA_SUPERSEDENCEに指定された値に設定されます。 より詳細な制御を必要とするパッチ作成者は、[属性] 列を手動で作成する必要があります。
PatchSequence Table を .pcp ファイルに含める場合、SEQUENCE_DATA_GENERATION_DISABLED プロパティは無視され、PatchSequence Table で指定された情報をパッチの MsiPatchSequence Table に追加できます。