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

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

Синтаксис

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

Параметры

[in] szProductCodeOrPatchCode

Идентификатор GUID productcode или patch продукта или исправления. Используйте строку, завершаемую 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 PARAMETER. При ссылке на текущую учетную запись пользователя szUserSID может иметь значение NULL , а dwContext — MSIINSTALLCONTEXT_USERMANAGED или MSIINSTALLCONTEXT_USERUNMANAGED.

[in] dwContext

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

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

[in] dwOptions

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

Flag Значение
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 или Юникод этой функции на основе определения константы препроцессора 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

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

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

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

ProductCode