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


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

Функция MsiSourceListClearAllEx удаляет все существующие источники заданного типа источника для указанного экземпляра продукта или исправления. Регистрация исправлений также удаляется, если единственный источник исправления удаляется, и если исправление не установлено как новое исправление любым клиентом в том же контексте. Указание того, что MsiSourceListClearAllEx удалить текущий источник для этого продукта или исправления заставляет установщик искать исходный список источника при следующем необходимости.

Синтаксис

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

Параметры

[in] szProductCodeOrPatchCode

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

[in, optional] szUserSid

Этот параметр может быть строковым идентификатором безопасности, который указывает учетную запись пользователя, содержащую продукт или исправление. Идентификатор безопасности не проверяется или не разрешается. Неверный идентификатор безопасности может возвращать ERROR_UNKNOWN_PRODUCT или ERROR_UNKNOWN_PATCH. При ссылке на контекст компьютера szUserSID необходимо null и dwContext должен быть MSIINSTALLCONTEXT_MACHINE. Использование идентификатора безопасности компьютера (S-1-5-18) возвращает ERROR_INVALID ПАРАМЕТР. При ссылке на текущую учетную запись пользователя szUserSID можно NULL и dwContext можно MSIINSTALLCONTEXT_USERMANAGED или MSIINSTALLCONTEXT_USERUNMANAGED.

[in] dwContext

Этот параметр указывает контекст экземпляра продукта или исправления. Этот параметр может содержать одно из следующих значений.

Тип контекста Значение
MSIINSTALLCONTEXT_USERMANAGED
Экземпляр продукта или исправления существует в контексте, управляемом пользователем.
MSIINSTALLCONTEXT_USERUNMANAGED
Экземпляр продукта или исправления существует в контексте, неуправляемом пользователем.
MSIINSTALLCONTEXT_MACHINE
Экземпляр продукта или исправления существует в контексте каждого компьютера.

[in] dwOptions

Значение dwOptions определяет интерпретацию значения szProductCodeOrPatchCode и типа источников для очистки. Этот параметр должен быть сочетанием одной из следующих констант MSISOURCETYPE_* и одной из следующих констант MSICODE_*.

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

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

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

Замечания

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

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

Заметка

Заголовок msi.h определяет MsiSourceListClearAllEx как псевдоним, который автоматически выбирает версию 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

См. также

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

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

ProductCode