次の方法で共有


MsiSourceListAddMediaDiskA 関数 (msi.h)

MsiSourceListAddMediaDisk 関数は、登録済み製品またはパッチのメディア ソースのディスクを追加または更新します。 指定されたディスクが既に存在する場合は、新しい値で更新されます。 指定されたディスクが存在しない場合は、新しい値を使用して新しいディスク エントリが作成されます。

構文

UINT MsiSourceListAddMediaDiskA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           DWORD             dwDiskId,
  [in]           LPCSTR            szVolumeLabel,
  [in, optional] LPCSTR            szDiskPrompt
);

パラメーター

[in] szProductCodeOrPatchCode

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

[in, optional] szUserSid

このパラメーターには、製品またはパッチを含むユーザー アカウントを指定する文字列 SID を指定できます。 SID が検証または解決されていません。 SID が正しくないと、ERROR_UNKNOWN_PRODUCTまたはERROR_UNKNOWN_PATCHが返される可能性があります。

SID の種類 意味
NULL
NULL は、現在ログオンしているユーザーを表します。 現在のユーザー アカウントを参照する場合、szUserSID は NULL でき、dwContext MSIINSTALLCONTEXT_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が返されます。 dwContext が MSIINSTALLCONTEXT_MACHINE のみに設定されている場合、szUserSid は NULLする必要があります。
 
特別な 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の意味を指定します。

意味
MSICODE_PRODUCT
szProductCodeOrPatchCode は製品コード GUID です。
MSICODE_PATCH
szProductCodeOrPatchCode はパッチ コード GUID です。

[in] dwDiskId

このパラメーターは、追加または更新されるディスクの ID を提供します。

[in] szVolumeLabel

szVolumeLabel は、追加または更新されるディスクのラベルを提供します。 更新によって、レジストリ内の既存のボリューム ラベルが上書きされます。 ディスク プロンプトのみを変更するには、レジストリから既存のボリューム ラベルを取得し、この呼び出しで新しいディスク プロンプトと共に指定します。 szVolumeLabelNULL または空の文字列を渡すと、空の文字列 (長さが 0 バイト) がボリューム ラベルとして登録されます。

[in, optional] szDiskPrompt

MsiSourceListAddMediaDiskへのエントリで、szDiskPrompt は、追加または更新されるディスクのディスク プロンプトを提供します。 更新によって、登録されているディスク プロンプトが上書きされます。
ボリューム ラベルのみを変更するには、登録されている既存のディスク プロンプトを取得し、新しいボリューム ラベルと共 MsiSourceListAddMediaDisk を呼び出すときに指定します。 NULL または空の文字列 渡すと、空の文字列 (長さが 0 バイト) がディスク プロンプトとして登録されます。

戻り値

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

価値 意味
ERROR_ACCESS_DENIED
ユーザーは、指定されたメディア ソースまたは指定された製品またはパッチを読み取る機能を持っていません。 これは、メディア ソース、製品、またはパッチが見つかったかどうかを示すものではありません。
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_INSTALL_SERVICE_FAILURE
Windows インストーラー サービスにアクセスできませんでした。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_SUCCESS
値が正常に並べ替えられた。
ERROR_UNKNOWN_PATCH
パッチが見つかりませんでした。
ERROR_UNKNOWN_PRODUCT
製品が見つかりませんでした。
ERROR_FUNCTION_FAILED
予期しない内部エラー。

備考

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

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

手記

msi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして MsiSourceListAddMediaDisk を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント 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 インストーラーの Run-Time 要件を参照してください。
ターゲット プラットフォーム の ウィンドウズ
ヘッダー msi.h
ライブラリ Msi.lib
DLL Msi.dll

関連項目

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

ProductCode を する