MsiApplyMultiplePatchesA 関数 (msi.h)

MsiApplyMultiplePatches 関数は、パッチを受け取る対象となる製品に 1 つ以上のパッチを適用します。 MsiApplyMultiplePatches 関数は、パッチの一覧をセミコロンで区切って PATCH プロパティを設定し、ターゲット製品の修正プログラムの適用を呼び出します。 その他のプロパティは、プロパティ リストを使用して設定できます。

構文

UINT MsiApplyMultiplePatchesA(
  [in]           LPCSTR szPatchPackages,
  [in, optional] LPCSTR szProductCode,
  [in, optional] LPCSTR szPropertiesList
);

パラメーター

[in] szPatchPackages

1 つの文字列としてファイルにパッチを適用するパスのセミコロン区切りのリスト。 例: ""c:\sus\download\cache\Office\sp1.msp;c:\sus\download\cache\Office\QFE1.msp;c:\sus\download\cache\Office\QFEn.msp" "

[in, optional] szProductCode

このパラメーターは、パッチを適用する製品の ProductCode GUID です。 MsiApplyMultiplePatches を呼び出すユーザーまたはアプリケーションには、パッチを適用する権限が必要です。 このパラメーターが NULL の場合、パッチはすべての対象製品に適用されます。 このパラメーターが NULL 以外の場合、パッチは指定された製品にのみ適用されます。

[in, optional] szPropertiesList

製品の修正プログラムの適用中に使用されるコマンド ライン プロパティの設定を指定する null で終わる文字列。 コマンド ライン プロパティの設定がない場合は、 NULL ポインターを渡します。 空の文字列は無効なパラメーターです。 これらのプロパティは、対象製品すべてで共有されます。 詳細については、「
コマンド ラインでのプロパティとパブリック プロパティ値の設定について

メモ プロパティ リストには PATCH プロパティを含めないようにしてください。 PATCH プロパティがコマンド ラインで設定されている場合、値は無視され、適用されているパッチで上書きされます。
 

戻り値

MsiApplyMultiplePatches 関数は、次の値を返します。

説明
ERROR_INVALID_PARAMETER
渡された一部の引数が正しくないか、矛盾しています。
ERROR_SUCCESS
関数が完了し、すべての製品に正常にパッチが適用されます。 ERROR_SUCCESS は、パッチの対象となるすべての製品にパッチが正常に適用された場合にのみ返されます。 新しいパッチが適用されない場合、 MsiApplyMultiplePatchesERROR_SUCCESS を返し、製品の状態は変更されません。
ERROR_SUCCESS_REBOOT_INITIATED
最後のトランザクションによって開始された再起動によって、 MsiApplyMultiplePatches へのこの呼び出しが終了しました。 すべてのターゲット製品にパッチが適用されていない可能性があります。
ERROR_SUCCESS_REBOOT_REQUIRED
最後のトランザクションで必要な再起動により、 この MsiApplyMultiplePatches の呼び出しが終了しました。 すべてのターゲット製品にパッチが適用されていない可能性があります。
ERROR_PATCH_PACKAGE_OPEN_FAILED
提供されているパッチ パッケージの 1 つを開くことができませんでした。
ERROR_PATCH_PACKAGE_INVALID
提供されるパッチ パッケージの 1 つが有効なパッケージではありません。
ERROR_PATCH_PACKAGE_UNSUPPORTED
パッチ パッケージの 1 つがサポートされていません。
Winerror.h のエラー
部分的な完了の可能性、または 1 つ以上のトランザクションが失敗したことを意味します。

解説

注意

msi.h ヘッダーは、MSIApplyMultiplePatches をエイリアスとして定義し、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 インストーラーのバージョンで必要な最小 Windows サービス パックに関する情報については、Windows インストーラーの実行時の要件に関する記事を参照してください。
対象プラットフォーム Windows
ヘッダー msi.h
Library Msi.lib
[DLL] Msi.dll

こちらもご覧ください

プロパティについて

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

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

PATCH

ProductCode

コマンド ラインでのパブリック プロパティ値の設定