MsiSourceListClearAllExA 関数 (msi.h)

MsiSourceListClearAllEx 関数は、指定された製品またはパッチ インスタンスの特定のソースの種類のすべての既存のソースを削除します。 パッチの唯一のソースが削除され、パッチが同じコンテキストのクライアントによって新しいパッチとしてインストールされていない場合、パッチの登録も削除されます。 MsiSourceListClearAllEx が、この製品またはパッチの現在のソースを削除するように指定すると、次にソースが必要な場合に、インストーラーはソースリストでソースを検索するように強制されます。

構文

UINT MsiSourceListClearAllExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions
);

パラメーター

[in] szProductCodeOrPatchCode

製品またはパッチの ProductCode またはパッチ GUID。 null で終わる文字列を使用します。 文字列が 39 文字を超える場合、関数は失敗し、ERROR_INVALID_PARAMETERを返します。 このパラメーターを NULL にすることはできません。

[in, optional] szUserSid

このパラメーターには、製品またはパッチを含むユーザー アカウントを指定する文字列 SID を指定できます。 SID は検証も解決もされません。 SID が正しくないと、ERROR_UNKNOWN_PRODUCTまたはERROR_UNKNOWN_PATCHが返される可能性があります。 マシン コンテキストを参照する場合、 szUserSIDNULL で、 dwContext はMSIINSTALLCONTEXT_MACHINEする必要があります。 マシン SID ("S-1-5-18") を使用すると、ERROR_INVALID PARAMETER が返されます。 現在のユーザー アカウントを参照する場合、 szUserSIDNULL にすることができ、 dwContext はMSIINSTALLCONTEXT_USERMANAGEDまたはMSIINSTALLCONTEXT_USERUNMANAGEDできます。

[in] dwContext

このパラメーターは、製品またはパッチ インスタンスのコンテキストを指定します。 このパラメーターには、次のいずれかの値を含めることができます。

コンテキストの種類 意味
MSIINSTALLCONTEXT_USERMANAGED
製品またはパッチ インスタンスは、ユーザー管理コンテキストに存在します。
MSIINSTALLCONTEXT_USERUNMANAGED
製品またはパッチ インスタンスは、ユーザーごとのアンマネージド コンテキストに存在します。
MSIINSTALLCONTEXT_MACHINE
製品またはパッチ インスタンスは、マシンごとのコンテキストに存在します。

[in] dwOptions

dwOptions 値は、szProductCodeOrPatchCode 値の解釈とクリアするソースの種類を決定します。 このパラメーターは、次のいずれかのMSISOURCETYPE_* 定数と、次のMSICODE_* 定数の組み合わせである必要があります。

フラグ 説明
MSISOURCETYPE_MEDIA
ソースはメディアです。
MSISOURCETYPE_NETWORK
ソースはネットワークの種類です。
MSISOURCETYPE_URL
ソースは URL の種類です。
MSICODE_PATCH
szProductCodeOrPatchCode はパッチ コードです。
MSICODE_PRODUCT
szProductCodeOrPatchCode は製品コードです。

戻り値

意味
ERROR_ACCESS_DENIED
ユーザーには、ソースを追加または移動する機能がありません。 製品またはパッチが見つかったかどうかを示しません。
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_INSTALL_SERVICE_FAILURE
Windows インストーラー サービスにアクセスできません。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_SUCCESS
指定した型のすべてのソースが削除されました。
ERROR_UNKNOWN_PRODUCT
指定された製品が不明です。
ERROR_UNKNOWN_PATCH
指定されたパッチが不明です。
ERROR_FUNCTION_FAILED
予期しない内部エラー。

注釈

管理者は、マシン コンテキストまたは独自のユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できます。ユーザーごとに管理されるコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 管理者は、他のユーザーのアンマネージド コンテキストの下に存在する製品またはパッチ インスタンスの別のユーザーのインストールを変更することはできません。

管理者以外のユーザーは、別のユーザーのユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できません。ユーザーごとのアンマネージド コンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 製品またはパッチ ソースの参照が有効になっている場合にのみ、マシン コンテキストまたは独自のユーザー管理コンテキストで製品またはパッチ インスタンスのインストールを変更できます。 ユーザーはポリシーを設定することでソースの参照を有効にすることができます。詳細については、「 DisableBrowse」、「 AllowLockdownBrowse」、「 AlwaysInstallElevated ポリシー」を参照してください。

注意

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

こちらもご覧ください

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

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

ProductCode