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
このパラメーターでは、パッチを適用するインストールの種類を指定します。
インストールの種類 | 意味 |
---|---|
|
管理インストールを指定します。 この場合、 szInstallPackage は パッケージ パスに設定する必要があります。 INSTALLTYPE_NETWORK_IMAGEの場合は 1 の値を指定すると、管理インストールに設定されます。 |
|
パッチを適用する製品をシステムで検索します。 この場合、 szInstallPackage は 0 である必要があります。 |
|
szInstallPackage で指定された製品にパッチを適用します。 szInstallPackage は、パッチを適用するインスタンスの製品コードです。 この種類のインストールには、Windows Server 2003 または WINDOWS XP SP1 を実行しているインストーラーが必要です。 詳細については、「製品とパッチの複数のインスタンスをインストールする」を参照してください。 |
[in] szCommandLine
コマンド ライン プロパティの設定を指定する null で終わる文字列。 コマンド ラインの 「プロパティ について」と 「パブリック プロパティ値の設定」を参照してください。 「解説」を参照してください。
戻り値
値 | 意味 |
---|---|
|
関数は正常に終了しました。 |
|
パッチ パッケージを開けませんでした。 |
|
パッチ パッケージが無効です。 |
|
パッチ パッケージはサポートされていません。 |
|
「エラー コード」を参照してください。 |
初期化エラーが発生しました。 |
解説
変換、ソース、パッチのリスト区切り記号はセミコロンであるため、この文字はファイル名やパスには使用しないでください。
小さな更新プログラムまたはマイナー アップグレードパッチを適用する場合は、コマンド ラインで 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 |