パッチの削除
使用しなくなった修正プログラムは、修正プログラムの適用シーケンスから削除できます。 これにより、ターゲット アプリケーションにパッチが適用されるときにパッチが適用されなくなります。 これは、アプリケーションに既に適用されているパッチを削除する場合とは異なります。 適用されたパッチの削除については、「パッチの削除」を参照してください。
**Windows インストーラー 3.0 以降: **
MsiPatchSequence テーブルを持つパッチは、このテーブルを使用して、修正プログラムの適用シーケンスからパッチを除去できます。 パッチを適用すると、パッチ適用シーケンスの前に来るパッチを排除し、それらのパッチからの情報を独自の情報に置き換えることができます。 除去するパッチを指定するパッチと除去されるパッチの両方に、情報を含む MsiPatchSequence テーブルが必要です。
削除されたパッチと置換パッチに MsiPatchSequence テーブル がない場合、パッチ パッケージでは、修正プログラムのシーケンスから除外するパッチの一覧を リビジョン番号の概要 プロパティで指定できます。 削除または置換されたパッチに MsiPatchSequence テーブルがある場合、Windows インストーラー 3.0 はこのリストを無視します。
パッチ パッケージに、MsiPatchSequence テーブルにシーケンス情報を含むパッチと、この情報のないパッチが含まれている場合、Windows インストーラー 3.0 は、次のセクションで説明する順序でパッチをシーケンスします。シーケンスパッチ。
たとえば、Patch1、Patch2、Patch3 には、MsiPatchSequence テーブルがない 3 つのパッチを指定できます。 Patch2 は、Patch1 が既にアプリケーションに適用されている場合にのみ適用できるパッチです。 Patch3 は、Patch1 のすべての情報を含む後のパッチであり、パッチの適用シーケンスから Patch1 を排除することもできます。 つまり、Patch3 を適用すると、Patch 2 は Patch1 を必要とするため、適用できなくなります。 Patch2 の情報だけでは、アプリケーションに配信されません。
Windows インストーラー 2.0: サポートされていません。 使用できる唯一の方法は、修正プログラムの適用シーケンスから除外する修正プログラムの一覧を リビジョン番号の概要 プロパティで指定することです。
手記
パッチ作成者は、MsiDeterminePatchSequence と MsiDetermineApplicablePatches 関数を使用して、一部のパッチを削除すると他のパッチが適用できなくなる可能性があるため、製品に実際に適用されるパッチのシーケンスを決定する必要があります。