次の方法で共有


パッチ パッケージ

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

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

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

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

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

手記

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

 

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

概要情報ストリーム

パッチ パッケージの概要情報ストリームは、パッチの ID と目的に関する情報を提供します。

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

  • パッチを一意に識別する GUID。 このパッチの GUID には、このパッチに置き換えられた以前のパッチの GUID の一覧が追加されます。
  • このパッチの有効なターゲットの製品コードのセミコロン区切りのリスト。
  • 変換サブストルジ名のセミコロン区切りのリスト。処理順です。
  • このパッチのソースのセミコロン区切りのリスト。

サブストラージュの変換

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

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

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

  • ファイルの古いバージョンを新しいバージョンに変更するために必要な情報を含むパッチ ファイル。 1 つのパッチ ファイルを使用して、1 つ以上の古いバージョンのファイルを更新できます。
  • 古いバージョンに存在しない追加のファイルがアプリケーションに追加されます。
  • 置換ファイル全体。 まれに、ファイルの新しいバージョンがそのファイルの古いバージョンを更新するために必要なパッチよりも小さい場合は、新しいファイル全体を含めることができます。 これらは、古いバージョンにインストールされた新しいファイルです。

パッチ パッケージ の作成