MsiSourceListSetInfoA 関数 (msi.h)
MsiSourceListSetInfo 関数は、特定のコンテキストでの製品またはパッチのソース リストに関する情報を設定します。
構文
UINT MsiSourceListSetInfoA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCSTR szProperty,
[in] LPCSTR szValue
);
パラメーター
[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する必要があります。
[in] dwContext
このパラメーターは、製品またはパッチ インスタンスのコンテキストを指定します。 このパラメーターには、次のいずれかの値を含めることができます。
[in] dwOptions
dwOptions 値は、szProductCodeOrPatchCode の意味を指定します。
設定するプロパティが "LastUsedSource" の場合、このパラメーターはソースの種類をネットワークまたは URL として指定します。 この場合、dwOptions パラメーターは、次のいずれかのMSISOURCETYPE_定数と次のMSICODE_定数の組み合わせである必要があります。
フラグ | 説明 |
---|---|
|
ソースはネットワークの種類です。 |
|
ソースは URL の種類です。 |
|
szProductCodeOrPatchCode は製品コード GUID です。 |
|
szProductCodeOrPatchCode はパッチ コード GUID です。 |
[in] szProperty
パラメーター szProperty は、設定するプロパティ値を示します。 MsiSourceListGetInfo を介して取得できるすべてのプロパティを、MsiSourceListSetInfo の呼び出しを介して設定できるわけではありません。 szProperty 値には、次のいずれかの値を指定できます。
名前 | 意味 |
---|---|
|
インストール メディアのルートに対して相対的なパス。 |
|
ユーザーにインストール メディアの入力を求めるときに使用されるプロンプト テンプレート。 |
|
製品に最後に使用したソースの場所。 ソースが登録されていない場合、関数は MsiSourceListAddSourceEx を呼び出して登録します。 登録が成功すると、この関数はソースを LastUsedSource として設定します。 |
|
ソースの Windows インストーラー パッケージまたはパッチ パッケージの名前。 |
[in] szValue
プロパティの新しい値。 新しい値の検証は実行されません。 この値を NULL にすることはできません。 空の文字列を指定できます。
戻り値
MsiSourceListSetInfo 関数は、次の値を返します。
値 | 意味 |
---|---|
|
ユーザーには、指定された製品のソース リストを設定する機能がありません。 |
|
構成データが破損しています。 |
|
Windows インストーラー サービスにアクセスできませんでした。 |
|
無効なパラメーターが関数に渡されました。 |
|
プロパティが設定されました。 |
|
パッチが見つかりませんでした。 |
|
製品が見つかりませんでした。 |
|
source プロパティが見つかりませんでした。 |
|
予期しない内部エラー。 |
注釈
管理者は、マシン コンテキストまたはユーザーごとの独自のコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できます。ユーザーが管理する任意のユーザーのコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 管理者は、他のユーザーの非管理対象コンテキストの下に存在する製品またはパッチ インスタンスの別のユーザーのインストールを変更することはできません。
管理者以外のユーザーは、別のユーザーのユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できません。ユーザーが管理しない独自のコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 製品またはパッチ のソースの参照が有効になっている場合にのみ、マシン コンテキストまたは独自のユーザー管理コンテキストで製品またはパッチ インスタンスのインストールを変更できます。 ユーザーは、ポリシーを設定することでソースの参照を有効にすることができます。 詳細については、 DisableBrowse、 AllowLockdownBrowse、および AlwaysInstallElevated ポリシーを参照してください。
上記の規則の例外は、登録されているソースのいずれかに "LastUsedSource" を設定することです。 ソースが既に登録されている場合、管理者以外のユーザーは、ポリシーに関係なく、"LastUsedSource" を独自のインストール (マネージドまたは非マネージド) とマシンごとのインストールに設定できます。
注意
msi.h ヘッダーは、MSISourceListSetInfo をエイリアスとして定義し、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 |