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が返される可能性があります。 マシン コンテキストを参照する場合、 szUserSIDNULLdwContextMSIINSTALLCONTEXT_MACHINEする必要があります。

SID の種類 意味
NULL
NULL は、現在ログオンしているユーザーを表します。 現在のユーザー アカウントを参照する場合、 szUserSIDNULL にすることができ、 dwContextMSIINSTALLCONTEXT_USERMANAGED または MSIINSTALLCONTEXT_USERUNMANAGEDできます。
ユーザー SID
システム内の特定のユーザーの列挙を指定します。 ユーザー SID の例として、"S-1-3-64-2415071341-1358098788-3127455600-2561" があります。
 
メモ 特殊な SID 文字列 "S-1-5-18" (システム) を使用して、コンピューターごとにインストールされている製品またはパッチを列挙することはできません。 SID 値を "S-1-5-18" に設定すると、"ERROR_INVALID_PARAMETER" が返されます。
 
メモ 特殊な SID 文字列 "S-1-1-0" (全員) は使用しないでください。 SID 値を "S-1-1-0" に設定すると失敗し、 ERROR_INVALID_PARAMを返します。
 

[in] dwContext

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

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

[in] dwOptions

dwOptions 値は、szProductCodeOrPatchCode の意味を指定します。

設定するプロパティが "LastUsedSource" の場合、このパラメーターはソースの種類をネットワークまたは URL として指定します。 この場合、dwOptions パラメーターは、次のいずれかのMSISOURCETYPE_定数と次のMSICODE_定数の組み合わせである必要があります。

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

[in] szProperty

パラメーター szProperty は、設定するプロパティ値を示します。 MsiSourceListGetInfo を介して取得できるすべてのプロパティを、MsiSourceListSetInfo の呼び出しを介して設定できるわけではありません。 szProperty 値には、次のいずれかの値を指定できます。

名前 意味
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
インストール メディアのルートに対して相対的なパス。
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
ユーザーにインストール メディアの入力を求めるときに使用されるプロンプト テンプレート。
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
製品に最後に使用したソースの場所。 ソースが登録されていない場合、関数は MsiSourceListAddSourceEx を呼び出して登録します。 登録が成功すると、この関数はソースを LastUsedSource として設定します。
INSTALLPROPERTY_PACKAGENAME
"PackageName"
ソースの Windows インストーラー パッケージまたはパッチ パッケージの名前。

[in] szValue

プロパティの新しい値。 新しい値の検証は実行されません。 この値を NULL にすることはできません。 空の文字列を指定できます。

戻り値

MsiSourceListSetInfo 関数は、次の値を返します。

意味
ERROR_ACCESS_DENIED
ユーザーには、指定された製品のソース リストを設定する機能がありません。
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_INSTALL_SERVICE_FAILURE
Windows インストーラー サービスにアクセスできませんでした。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_SUCCESS
プロパティが設定されました。
ERROR_UNKNOWN_PATCH
パッチが見つかりませんでした。
ERROR_UNKNOWN_PRODUCT
製品が見つかりませんでした。
ERROR_UNKNOWN_PROPERTY
source プロパティが見つかりませんでした。
ERROR_FUNCTION_FAILED
予期しない内部エラー。

注釈

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

管理者以外のユーザーは、別のユーザーのユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できません。ユーザーが管理しない独自のコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 製品またはパッチ のソースの参照が有効になっている場合にのみ、マシン コンテキストまたは独自のユーザー管理コンテキストで製品またはパッチ インスタンスのインストールを変更できます。 ユーザーは、ポリシーを設定することでソースの参照を有効にすることができます。 詳細については、 DisableBrowseAllowLockdownBrowse、および 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

こちらもご覧ください

インストール コンテキスト

MsiSourceListGetInfo

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

ProductCode