MsiSourceListAddSourceA 関数 (msi.h)

MsiSourceListAddSource 関数は、指定したユーザー コンテキストの製品またはパッチの指定した種類のソースを含む有効なネットワーク ソースの一覧に追加します。

SOURCELIST プロパティのソースの数は無制限です。

構文

UINT MsiSourceListAddSourceA(
  [in] LPCSTR szProduct,
  [in] LPCSTR szUserName,
  [in] DWORD  dwReserved,
  [in] LPCSTR szSource
);

パラメーター

[in] szProduct

変更する製品の ProductCode

[in] szUserName

ユーザーごとのインストールのユーザー名。 Windows 2000 または Windows XP では、ユーザー名は常に DOMAIN\USERNAME (またはローカル ユーザーの場合は MACHINENAME\USERNAME) の形式にする必要があります。

マシンごとのインストールの空の文字列または NULL

[in] dwReserved

将来利用するために予約されています。 この値は 0 に設定する必要があります。

[in] szSource

ソースを指定する文字列へのポインター。

戻り値

リターン コード 説明
ERROR_ACCESS_DENIED
ユーザーには、ソースを追加する機能がありません。
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_BAD_USERNAME
ユーザー名を解決できませんでした。
ERROR_FUNCTION_FAILED
関数が成功しませんでした。
ERROR_INSTALL_SERVICE_FAILURE
インストーラー サービスにアクセスできませんでした。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_SUCCESS
ソースが追加されました。
ERROR_UNKNOWN_PRODUCT
指定された製品が不明です。

解説

管理者は、マシンごとのインストール、ユーザーごとの独自の非管理インストール、および任意のユーザーのユーザーごとのマネージド インストールを変更できます。 管理者以外は、マシンごとのインストールと、ユーザーごとの独自の (マネージドまたは非マネージド) インストールのみを変更できます。 ユーザーは、ポリシーを設定することでソースの参照を有効にすることができます。 詳細については、「 DisableBrowse」、「 AllowLockdownBrowse」、「 AlwaysInstallElevated ポリシー」を参照してください。

この関数は、有効なソースの一覧に新しいソースを追加するだけです。 別のソースを使用して製品をインストールした場合、現在のソースが使用できなくなるまで、新しいソースは使用されません。

指定されたソースが製品の有効なソース イメージであることを確認するのは、呼び出し元の責任です。

ユーザー名が空の文字列または NULL の場合、関数は製品のマシンごとのインストールで動作します。 この場合、製品がユーザーごとの状態でのみインストールされている場合、関数はERROR_UNKNOWN_PRODUCTを返します。

ユーザー名が空の文字列または NULL でない場合は、製品のインストールが変更されたユーザーの名前を指定します。 ユーザー名が現在のユーザー名の場合、関数は最初に製品の管理されていないインストールの変更を試みます。 製品の管理されていないインストールが見つからない場合、関数は製品の管理対象ユーザーごとのインストールの変更を試みます。 製品の管理対象またはアンマネージドのユーザーごとのインストールが見つからない場合、製品がマシンごとにインストールされている場合でも、この関数はERROR_UNKNOWN_PRODUCTを返します。

この関数は、現在のユーザー以外のユーザーに対して管理されていないインストールを変更することはできません。 ユーザー名が空の文字列または NULL ではなく、現在のユーザーではない場合、関数は指定されたユーザーの製品のマネージド ユーザーごとのインストールのみを確認します。 指定したユーザーに対して製品がマネージド ユーザーごとにインストールされていない場合、製品がマシンごとにインストールされている場合でも、この関数はERROR_UNKNOWN_PRODUCTを返します。

注意

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

関連項目

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

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

LookupAccountName

ProductCode

SOURCELIST

ソースの回復性