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


Функция MsiSourceListAddSourceExA (msi.h)

Функция MsiSourceListAddSourceEx добавляет или переупорядочение набора источников исправлений или продуктов в указанном контексте. Он также может создать исходный список для исправления, который не существует в указанном контексте.

Синтаксис

UINT MsiSourceListAddSourceExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szSource,
  [in, optional] DWORD             dwIndex
);

Параметры

[in] szProductCodeOrPatchCode

ProductCode или GUID исправления продукта или исправления. Используйте строку, завершаемую значением NULL. Если строка длиннее 39 символов, функция завершается ошибкой и возвращает ERROR_INVALID_PARAMETER. Этот параметр не может быть значение NULL.

[in, optional] szUserSid

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

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

Флаг Значение
MSISOURCETYPE_NETWORK
Источник — это тип сети.
MSISOURCETYPE_URL
Источник — это тип URL-адреса.
MSICODE_PRODUCT
szProductCodeOrPatchCode — это код продукта.
MSICODE_PATCH
szProductCodeOrPatchCode — это код исправления.

[in] szSource

Источник для добавления или перемещения. Этот параметр должен содержать только путь без имени файла. Имя файла уже зарегистрировано как PackageName и может управляться с помощью MsiSourceListSetInfo. Этот аргумент является обязательным.

[in, optional] dwIndex

Этот параметр предоставляет новый индекс источника. Все источники индексируются в исходном списке от 1 до N, где N является числом источников в списке. Каждый источник в списке имеет уникальный индекс.

Если MsiSourceListAddSourceEx вызывается с новым источником и dwIndex значение 0 (ноль), новый источник добавляется в существующий список. Если dwIndex имеет значение 0, а источник уже существует в списке, обновление в списке не выполняется.

Если MsiSourceListAddSourceEx вызывается с новым источником и dwIndex значением, не равным нулю(N), новый источник помещается по указанному индексу и другие источники переиндексируются. Если источник уже существует, он перемещается в указанный индекс, а другие источники переиндексируются.

Если MsiSourceListAddSourceEx вызывается с новым источником и dwIndex имеет значение, отличное от нуля, больше количества источников (N), новый источник добавляется в существующий список. Если источник уже существует, он перемещается в конец списка, а другие источники переиндексируются.

Возвращаемое значение

Функция msiSourceListAddSourceEx возвращает следующие значения.

Ценность Значение
ERROR_ACCESS_DENIED
У пользователя нет возможности добавлять или перемещать источник. Не указывает, найден ли продукт или исправление.
ERROR_BAD_CONFIGURATION
Данные конфигурации повреждены.
ERROR_INSTALL_SERVICE_FAILURE
Не удалось получить доступ к службе установщика Windows.
ERROR_SUCCESS
Источник был вставлен или обновлен.
ERROR_UNKNOWN_PRODUCT
Указанный продукт неизвестен.
ERROR_UNKNOWN_PATCH
Указанное исправление неизвестно.
ERROR_FUNCTION_FAILED
Непредвиденный внутренний сбой.

Замечания

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

Неадминистрированные пользователи не могут изменить установку продукта или экземпляра исправлений, существующего в контексте другого пользователя (управляемом или неуправляемом).) Они могут изменять установку продукта или экземпляра исправлений, существующего в собственном контексте для каждого пользователя. Они могут изменять установку продукта или экземпляра исправлений в контексте компьютера или собственный контекст, управляемый пользователем, только если они включены для поиска продукта или источника исправлений. Пользователи могут быть включены для поиска источников, задав политику. Дополнительные сведения см. в разделе DisableBrowse, AllowLockdownBrowseи политики AlwaysInstallElevated.

Заметка

Заголовок msi.h определяет MsiSourceListAddSourceEx как псевдоним, который автоматически выбирает версию 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, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

MsiSourceListSetInfo

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

ProductCode

устойчивость источника