Поделиться через


Функция 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

Этот параметр может быть строковым идентификатором безопасности, который указывает учетную запись пользователя, содержащую продукт или исправление. Идентификатор безопасности не проверяется или не разрешается. Неверный идентификатор безопасности может возвращать ERROR_UNKNOWN_PRODUCT или ERROR_UNKNOWN_PATCH.

Тип идентификатора безопасности Значение
NULL
null обозначает текущего пользователя, вошедшего в систему. При ссылке на текущую учетную запись пользователя szUserSID можно NULL и dwContext можно MSIINSTALLCONTEXT_USERMANAGED или MSIINSTALLCONTEXT_USERUNMANAGED.
идентификатор безопасности пользователя
Задает перечисление для конкретного пользователя в системе. Примером идентификатора безопасности пользователя является S-1-3-64-2415071341-135809888-3127455600-2561.
 
Примечание Нельзя использовать специальную строку SID s-1-5-18 (system) для перечисления продуктов или исправлений, установленных как на компьютере. При задании значения 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

Этот параметр предоставляет идентификатор добавляемого или обновленного диска.

[in] szVolumeLabel

szVolumeLabel предоставляет метку добавляемого или обновленного диска. Обновление перезаписывает существующую метку тома в реестре. Чтобы изменить только запрос на диск, получите существующую метку тома из реестра и укажите ее в этом вызове вместе с новым запросом на диск. Передача null или пустой строки для szVolumeLabel регистрирует пустую строку (0 байтов длиной) в качестве метки тома.

[in, optional] szDiskPrompt

При входе в MsiSourceListAddMediaDiskszDiskPrompt предоставляет запрос на диск добавляемого или обновленного диска. Обновление перезаписывает зарегистрированный запрос на диск.
Чтобы изменить только метку тома, получите существующую строку диска, зарегистрированную и предоставьте ее при вызове 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, AllowLockdownBrowse, AllowLockDownMedia и политики AlwaysInstallElevated.

Заметка

Заголовок msi.h определяет MsiSourceListAddMediaDisk как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows 3.0 или более поздней версии в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

не поддерживается в установщике Windows 2.0 и более ранних

ProductCode