MsiApplyPatchA 関数 (msi.h)

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

構文

UINT MsiApplyPatchA(
  [in] LPCSTR      szPatchPackage,
  [in] LPCSTR      szInstallPackage,
  [in] INSTALLTYPE eInstallType,
  [in] LPCSTR      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 プロパティはインストーラーによって構成され、コマンド ラインで設定する必要はありません。

 

注意

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

要件

要件
サポートされている最小のクライアント 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 以前ではサポートされていません