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

Идентификатор GUID productcode или patch продукта или исправления. Используйте строку, завершаемую 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-1358098788-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.

Flag Значение
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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Установщик 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.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

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

ProductCode