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が返される可能性があります。 マシン コンテキストを参照する場合、 szUserSID は NULL で、 dwContext はMSIINSTALLCONTEXT_MACHINEする必要があります。 マシン SID ("S-1-5-18") を使用すると、ERROR_INVALID PARAMETER が返されます。 現在のユーザー アカウントを参照する場合、 szUserSID は NULL にすることができ、 dwContext はMSIINSTALLCONTEXT_USERMANAGEDまたはMSIINSTALLCONTEXT_USERUNMANAGEDできます。
[in] dwContext
このパラメーターは、製品またはパッチ インスタンスのコンテキストを指定します。 このパラメーターには、次のいずれかの値を含めることができます。
[in] dwOptions
dwOptions 値は、szProductCodeOrPatchCode 値の解釈とクリアするソースの種類を決定します。 このパラメーターは、次のいずれかのMSISOURCETYPE_* 定数と、次のMSICODE_* 定数の組み合わせである必要があります。
戻り値
値 | 意味 |
---|---|
|
ユーザーには、ソースを追加または移動する機能がありません。 製品またはパッチが見つかったかどうかを示しません。 |
|
構成データが破損しています。 |
|
Windows インストーラー サービスにアクセスできません。 |
|
無効なパラメーターが関数に渡されました。 |
|
指定した型のすべてのソースが削除されました。 |
|
指定された製品が不明です。 |
|
指定されたパッチが不明です。 |
|
予期しない内部エラー。 |
注釈
管理者は、マシン コンテキストまたは独自のユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できます。ユーザーごとに管理されるコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 管理者は、他のユーザーのアンマネージド コンテキストの下に存在する製品またはパッチ インスタンスの別のユーザーのインストールを変更することはできません。
管理者以外のユーザーは、別のユーザーのユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できません。ユーザーごとのアンマネージド コンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 製品またはパッチ ソースの参照が有効になっている場合にのみ、マシン コンテキストまたは独自のユーザー管理コンテキストで製品またはパッチ インスタンスのインストールを変更できます。 ユーザーはポリシーを設定することでソースの参照を有効にすることができます。詳細については、「 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 |