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


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

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

Синтаксис

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

Параметры

[in] szProductCodeOrPatchCode

Код продукта или 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 , а dwContextMSIINSTALLCONTEXT_USERMANAGED или MSIINSTALLCONTEXT_USERUNMANAGED.
Идентификатор безопасности пользователя
Задает перечисление для конкретного пользователя в системе. Пример идентификатора безопасности пользователя — "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Примечание Специальная строка идентификатора безопасности "S-1-5-18" (система) не может использоваться для перечисления продуктов или исправлений, установленных для каждого компьютера. При установке значения 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_ .

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

[in] szSource

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

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

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

Значение Значение
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 и AlwaysInstallElevated .

Примечание

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

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

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

MsiSourceListSetInfo

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

ProductCode

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