パッチ シーケンス情報の生成 (PATCHWIZ.DLL)

Windows インストーラー 3.0 でリリースされたバージョンの PATCHWIZ.DLL を使うと、パッチ シーケンス情報を自動的に生成し、新しいパッチを MsiPatchSequence テーブルに追加できます。

パッチ シーケンス情報の自動生成を行わない場合は、.pcp ファイルの Properties テーブルで SEQUENCE_DATA_GENERATION_DISABLED プロパティを 1 に設定します。 このプロパティがない場合、情報は自動的に生成され、追加されます。

Windows インストーラー 3.0 と共にリリースされた PATCHWIZ.DLL を使ってパッチ シーケンス情報を自動生成すると、次のことが起こります。

  • TargetImages テーブルに登録されているターゲット イメージの製品コードごとに MsiPatchSequence テーブルに新しい行が追加されます。

  • 新しい行の PatchFamily 列に追加された値は、TargetImages テーブルに登録されているターゲット イメージのターゲット製品コードに対応します。

  • 新しい行の Sequence 列に追加された値は、パッチの対象となる最も高い製品バージョンと、パッチが生成された UTC 時刻を使って生成されます。 シーケンス番号は、<製品のマイナー バージョン>.<ビルドのメジャー番号>.<タイム スタンプ 1>.<タイム スタンプ 2> です。

    • 最初のフィールドは、パッチの対象となる製品の最も高いバージョンの製品バージョンです。
    • 2 つ目のフィールドは、パッチの対象となる製品の最も高いバージョンのビルド メジャー番号です。

    2 つのタイムスタンプ フィールドは、協定世界時 (UTC) の秒をカウントするために必要な 32 ビットのタイム スタンプを表します。

    Note

    製品バージョンは次の形式です: <製品のメジャー バージョン>.<製品のマイナー バージョン>.<ビルドのメジャー番号>.<ビルドのマイナー番号>です。バージョン番号 2.1.0.0 の製品は、バージョン番号 1.2.0.0 の製品よりも高いバージョンです。

     

  • msidbPatchSequenceSupersedeEarlier 属性は、サービス パック (SP) またはマイナー アップグレード パッチ用に生成される新しい行の Attribute 列に入力されます。 msidbPatchSequenceSupersedeEarlier 属性は、QFE または小さな更新プログラムのパッチに追加されません。

    Note

    サービス パック (SP) には、それより前にリリースされたすべての QFE の修正プログラムが含まれています。 ただし、パッチ作成者が .pcp ファイルで SEQUENCE_DATA_SUPERSEDENCE プロパティを 0 (ゼロ) または 1 に設定すると、MsiPatchSequence テーブルのすべての行の Attributes 列は、SEQUENCE_DATA_SUPERSEDENCE に指定されている値に設定されます。 より多くの制御を必要とするパッチ作成者は、Attributes 列を手動で作成する必要があります。

     

.pcp ファイルに PatchSequence テーブルを含めると、SEQUENCE_DATA_GENERATION_DISABLED プロパティは無視され、PatchSequence テーブルで提供された情報をパッチの MsiPatchSequence テーブルに追加できます。