MsiApplyPatchW 関数 (msi.h)

パッチ パッケージによってパッチを受け取る資格がある製品ごとに、 MsiApplyPatch 関数によってインストールが呼び出され、 PATCH プロパティがパッチ パッケージのパスに設定されます。

構文

UINT MsiApplyPatchW(
  [in] LPCWSTR     szPatchPackage,
  [in] LPCWSTR     szInstallPackage,
  [in] INSTALLTYPE eInstallType,
  [in] LPCWSTR     szCommandLine
);

パラメーター

[in] szPatchPackage

パッチ パッケージへの完全パスを指定する null で終わる文字列。

[in] szInstallPackage

eInstallType が INSTALLTYPE_NETWORK_IMAGE に設定されている場合、このパラメーターは null で終わる文字列であり、パッチを適用する製品へのパスを指定します。 szInstallPackage が null に設定され、eInstallType が INSTALLTYPE_DEFAULT に設定されている場合、インストーラーはパッチ パッケージに一覧表示されているすべての対象製品にパッチを適用します。

eInstallType がINSTALLTYPE_SINGLE_INSTANCE場合、インストーラーは szInstallPackage で指定された製品にパッチを適用します。 この場合、パッチ パッケージにリストされている他の対象製品は無視され、 szInstallPackage パラメーターには、パッチを適用するインスタンスの製品コードを表す null で終わる文字列が含まれています。 この種類のインストールには、Windows Server 2003 または Windows XP を実行するインストーラーが必要です。

[in] eInstallType

このパラメーターでは、パッチを適用するインストールの種類を指定します。

インストールの種類 説明
INSTALLTYPE_NETWORK_IMAGE
管理インストールを指定します。 この場合、 szInstallPackage を パッケージ パスに設定する必要があります。 INSTALLTYPE_NETWORK_IMAGEの値 1 は、管理インストールの場合にこれを設定します。
INSTALLTYPE_DEFAULT
パッチを適用する製品をシステムで検索します。 この場合、 szInstallPackage は 0 である必要があります。
INSTALLTYPE_SINGLE_INSTANCE
szInstallPackage で指定された製品にパッチを適用します。 szInstallPackage は、パッチを適用するインスタンスの製品コードです。 この種類のインストールには、Windows Server 2003 または WINDOWS XP SP1 を実行しているインストーラーが必要です。 詳細については、「製品とパッチの複数のインスタンスをインストールする」を参照してください。

[in] szCommandLine

コマンド ライン プロパティの設定を指定する null で終わる文字列。 コマンド ラインの 「プロパティについて」 と「 パブリック プロパティの値を設定する」を参照してください。 「解説」を参照してください。

戻り値

説明
ERROR_SUCCESS
関数は正常に終了しました。
ERROR_PATCH_PACKAGE_OPEN_FAILED
パッチ パッケージを開くことができませんでした。
ERROR_PATCH_PACKAGE_INVALID
パッチ パッケージが無効です。
ERROR_PATCH_PACKAGE_UNSUPPORTED
パッチ パッケージはサポートされていません。
アクションに関連するエラー
「エラー コード」を参照してください。
初期化エラー
初期化エラーが発生しました。

解説

変換、ソース、パッチのリスト区切り記号はセミコロンであるため、この文字はファイル名やパスには使用しないでください。

  

小さな更新プログラムまたはマイナー アップグレードパッチを適用する場合は、コマンド ラインで REINSTALL プロパティを設定する必要があります。 このプロパティがないと、パッチはシステムに登録されますが、ファイルを更新することはできません。 CUSTOM Action Type 51 を使用して REINSTALL プロパティと REINSTALLMODE プロパティを自動的に設定しないパッチの場合は、REINSTALL プロパティを szCommandLine パラメーターで明示的に設定する必要があります。 REINSTALL プロパティを設定して、パッチの影響を受ける機能を一覧表示するか、実際の既定の設定である "REINSTALL=ALL" を使用します。 REINSTALLMODE プロパティの既定値は "omus" です。 Windows インストーラー バージョン 3.0 以降では、 REINSTALL プロパティはインストーラーによって構成され、コマンド ラインで設定する必要はありません。

 

Note

msi.h ヘッダーは、MSIApplyPatch をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー。 Windows インストーラーのバージョン別に必須となる最小 Windows サービス パックに関する詳細については、Windows インストーラーの実行時の要件に関する記事を参照してください。
対象プラットフォーム Windows
ヘッダー msi.h
Library Msi.lib
[DLL] Msi.dll

関連項目

エラー コード

初期化エラー

複数パッケージのインストール

Windows インストーラー 2.0 以前ではサポートされていません