次の方法で共有


修正プログラム パッケージ

Windows インストーラー修正プログラム (.msp ファイル) は、Windows インストーラー アプリケーションに更新プログラムを配信するために使用されるファイルです。 この修正プログラムは、アプリケーションの更新に必要なすべての情報を含む自己完結型パッケージです。 修正プログラム パッケージ (.msp ファイル) は、更新されたアプリケーション全体の Windows インストーラー パッケージ (.msi ファイル) よりもはるかに小さい場合があります。 アプリケーションにより小さな更新プログラムを配信する方法の詳細については、「パッチ サイズの縮小」を参照してください。

修正プログラム パッケージには、アプリケーションに対する実際の更新プログラムが含まれており、修正プログラムを受け取ることができるアプリケーションのバージョンの説明が示されています。 修正プログラムには、少なくとも 2 つのデータベース変換が含まれています。 1 つの変換によって、アプリケーションのインストール データベース内の情報が更新されます。 もう 1 つの変換によって、インストーラーでファイルに修正プログラムを適用するために使用される情報が追加されます。 インストーラーでは、変換によって提供される情報を使用して、修正プログラム パッケージのキャビネット ファイル ストリームに格納されている修正プログラム ファイルを適用します。 修正プログラム パッケージには、インストール パッケージ (.msi ファイル) のようなデータベースがありません。

Windows インストーラー バージョン 3.0 以降では、修正プログラム パッケージに、MsiPatchSequence テーブル内の他の更新プログラムに対する修正プログラムの適用順序を説明する情報と、MsiPatchMetadata テーブル内の追加の説明情報を含めることができます。

ユーザーは、ネットワーク管理イメージからアプリケーションと更新プログラムをインストールできます。 修正プログラム パッケージは管理インストールに適用できますが、更新プログラムを配信するには、ユーザーに元のアプリケーションをインストールさせてから、修正プログラムをコンピューター上のアプリケーションのローカル インスタンスに適用させることをお勧めします。 これにより、ユーザーは管理イメージとの同期状態が保たれます。 修正プログラムが管理インストールに適用されている場合、その管理インストールのすべてのクライアントは、更新プログラムを受け取るためにアプリケーションを再キャッシュして再インストールする必要があります。 ユーザーは、再キャッシュして再インストールするまで、修正プログラムが適用された管理インストールからのオンデマンドでのインストールや修復インストールを行うことができません。

Windows インストーラー 3.0 以降では、管理者以外がユーザーごとのマネージド アプリケーションに修正プログラムを適用できるのは、その修正プログラムが管理者によって信頼されたものとして承認された後です。 この方法について詳しくは、「ユーザーごとのマネージド アプリケーションのパッチ適用」を参照してください。 もう 1 つの方法は、最小特権ユーザー アカウントの修正プログラム適用を使用することです。

Note

AllowLockdownPatch ポリシーが設定されている場合、昇格された特権でインストールを実行しているときに、管理者以外のユーザーは既存のアプリケーションに修正プログラムを適用できます。 この方法は、昇格された特権で実行できるアプリケーションに信頼されていない修正プログラムを適用できるため、推奨されません。

 

修正プログラム パッケージは次の部分で構成されます。 修正プログラム パッケージの構築について詳しくは、「パッチ パッケージの作成」を参照してください。

概要情報ストリーム

修正プログラム パッケージの概要情報ストリームでは、修正プログラムの ID と目的に関する情報が提供されます。

概要情報ストリームには、少なくとも次の情報が保持されます。

  • 修正プログラムを一意に識別する GUID。 この修正プログラムの GUID には、この修正プログラムによって置き換えられた以前の修正プログラムの GUID のリストが追加されています。
  • この修正プログラムの有効なターゲットの製品コードのセミコロン区切りリスト。
  • 変換サブストレージ名を処理する順序でセミコロンで区切ったリスト。
  • この修正プログラムのソースのセミコロン区切りリスト。

変換サブストレージ

修正プログラム パッケージには、ファイル、レジストリ エントリ、ユーザー インターフェイス、カスタマイズを追加または削除できる変換が含まれています。 変換は、パッケージにサブストレージとして含まれます。 修正プログラム パッケージには、ターゲット データベースごとに 2 つの変換が含まれています。 1 つ変換では、インストール データベースに対する実際の更新が行われ、インストール パッケージの元のイメージと更新されたイメージの違いから生成されます。 もう 1 つの変換では、PatchPatchPackageMediaInstallExecuteSequenceAdminExecuteSequence の各テーブルにエントリが追加されます。 サブストレージ内の情報では、それを特定の UpgradeCodeProductCodeProductVersion、および ProductLanguage に結び付けます。 複数のターゲットに適用できる修正プログラム パッケージには、これらの変換の複数のペアが含まれています。

キャビネット ファイル ストリーム

修正プログラムに含まれるキャビネット ファイル ストリームには、次の種類のファイルを含めることができます。

  • ファイルの古いバージョンを新しいバージョンに変更するために必要な情報を含む修正プログラム ファイル。 単一の修正プログラム ファイルを使用して、1 つまたは複数の古いバージョンのファイルを更新できます。
  • 古いバージョンには存在しない、アプリケーションに追加される追加ファイル。
  • 置換するファイル全体。 ファイルの新しいバージョンがそのファイルの古いバージョンを更新するために必要な修正プログラムよりも小さいまれなケースでは、新しいファイルをそのまま含めることができます。 これらは、古いバージョンよりも優先してインストールされる新しいファイルです。

パッチ パッケージの作成