MsiRemovePatchesA 関数 (msi.h)
MsiRemovePatches 関数は、1 つの製品から 1 つ以上のパッチを削除します。 複数の製品からパッチを削除するには、各製品に対して MsiRemovePatches を呼び出す必要があります。
構文
UINT MsiRemovePatchesA(
[in] LPCSTR szPatchList,
[in] LPCSTR szProductCode,
[in] INSTALLTYPE eUninstallType,
[in, optional] LPCSTR szPropertyList
);
パラメーター
[in] szPatchList
削除するパッチの一覧を表す null で終わる文字列。 各パッチは、パッチの GUID またはパッチ パッケージへの完全パスで指定できます。 リスト内のパッチはセミコロンで区切られます。
[in] szProductCode
パッチが削除される 製品の ProductCode (GUID) である null で終わる文字列。 このパラメーターを NULL にすることはできません。
[in] eUninstallType
実行するパッチの削除の種類を示す値。 このパラメーターは INSTALLTYPE_SINGLE_INSTANCEする必要があります。
値 | 意味 |
---|---|
|
パッチは、 szProduct で指定された製品に対してのみアンインストールされます。 |
[in, optional] szPropertyList
コマンドライン プロパティの設定を指定する null で終わる文字列。 詳細については、「
コマンド ラインでのプロパティとパブリック プロパティ値の設定について。 このパラメーターは、NULL でもかまいません。
戻り値
MsiRemovePatches 関数は、次の値を返します。
値 | 意味 |
---|---|
|
無効なパラメーターが含まれていました。 |
|
パッチ パッケージを開けませんでした。 |
|
パッチが正常に削除されました。 |
|
szProductList で指定された製品は、MsiRemovePatches の呼び出し元に対してマシンごとまたはユーザーごとにインストールされません。 |
|
パッチ パッケージを開けませんでした。 |
|
パッチ パッケージが無効です。 |
|
このバージョンの Windows インストーラー サービスでは、パッチ パッケージを処理できません。 |
|
パッチ パッケージはリムーバブルではありません。 |
|
この製品にはパッチが適用されていません。 |
|
修正プログラムの削除は、ポリシーで許可されませんでした。 |
解説
アプリケーションがユーザーが使用できるすべての製品からパッチを削除する方法を示す例については、「パッチのアンインストール」を参照してください。
注意
msi.h ヘッダーは、MSIRemovePatches をエイリアスとして定義し、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 |