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が返される可能性があります。
[in] dwContext
このパラメーターは、製品またはパッチ インスタンスのコンテキストを指定します。 このパラメーターには、次のいずれかの値を含めることができます。
[in] dwOptions
dwOptions 値は、szProductCodeOrPatchCode の意味を指定します。
フラグ | 説明 |
---|---|
|
szProductCodeOrPatchCode は製品コード GUID です。 |
|
szProductCodeOrPatchCode はパッチ コード GUID です。 |
[in] dwDiskId
このパラメーターでは、追加または更新されるディスクの ID が提供されます。
[in] szVolumeLabel
szVolumeLabel は、追加または更新されるディスクのラベルを提供します。 更新により、レジストリ内の既存のボリューム ラベルが上書きされます。 ディスク プロンプトのみを変更するには、レジストリから既存のボリューム ラベルを取得し、この呼び出しで新しいディスク プロンプトと共に指定します。 szVolumeLabel に NULL または空の文字列を渡すと、空の文字列 (長さが 0 バイト) がボリューム ラベルとして登録されます。
[in, optional] szDiskPrompt
MsiSourceListAddMediaDisk へのエントリで、szDiskPrompt によって、追加または更新されるディスクのディスク プロンプトが表示されます。 更新プログラムによって、登録済みのディスク プロンプトが上書きされます。
ボリューム ラベルのみを変更するには、登録されている既存のディスク プロンプトを取得し、新しいボリューム ラベルと共に MsiSourceListAddMediaDisk を 呼び出すときにそれを指定します。 NULL または空の文字列を渡すと、空の文字列 (長さが 0 バイト) がディスク プロンプトとして登録されます。
戻り値
MsiSourceListAddMediaDisk 関数は、次の値を返します。
値 | 説明 |
---|---|
|
ユーザーは、指定されたメディア ソースまたは指定された製品またはパッチを読み取る機能を持っていません。 これは、メディア ソース、製品、またはパッチが見つかったかどうかを示すものではありません。 |
|
構成データが破損しています。 |
|
Windows インストーラー サービスにアクセスできませんでした。 |
|
無効なパラメーターが関数に渡されました。 |
|
値の順序が正常に変更されました。 |
|
パッチが見つかりませんでした。 |
|
製品が見つかりませんでした。 |
|
予期しない内部エラー。 |
解説
管理者は、マシン コンテキストまたは独自のユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できます。ユーザーごとに管理されるコンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 管理者は、他のユーザーのアンマネージド コンテキストの下に存在する製品またはパッチ インスタンスの別のユーザーのインストールを変更することはできません。
管理者以外のユーザーは、別のユーザーのユーザーごとのコンテキスト (マネージドまたはアンマネージド) の下に存在する製品またはパッチ インスタンスのインストールを変更できません。ユーザーごとのアンマネージド コンテキストの下に存在する製品またはパッチ インスタンスのインストールを変更できます。 製品またはパッチ ソースの参照が有効になっている場合にのみ、マシン コンテキストまたは独自のユーザー管理コンテキストで製品またはパッチ インスタンスのインストールを変更できます。 ユーザーは、ポリシーを設定することでソースの参照を有効にすることができます。 詳細については、「 DisableBrowse」、「 AllowLockdownBrowse」、「 AllowLockDownMedia 」、「 AlwaysInstallElevated ポリシー」を参照してください。
注意
msi.h ヘッダーは、MSISourceListAddMediaDisk をエイリアスとして定義し、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 |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示