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

Функция MsiRemovePatches удаляет один или несколько исправлений из одного продукта. Чтобы удалить исправление из нескольких продуктов, необходимо вызвать MsiRemovePatches для каждого продукта.

Синтаксис

UINT MsiRemovePatchesA(
  [in]           LPCSTR      szPatchList,
  [in]           LPCSTR      szProductCode,
  [in]           INSTALLTYPE eUninstallType,
  [in, optional] LPCSTR      szPropertyList
);

Параметры

[in] szPatchList

Строка, завершающаяся значением NULL, представляющая список исправлений для удаления. Каждое исправление можно указать с помощью GUID исправления или полного пути к пакету исправлений. Исправления в списке разделяются точкой с запятой.

[in] szProductCode

Строка, завершающаяся null, которая представляет собой Код Продукта (GUID) продукта, из которого удаляются исправления. Этот параметр не может иметь значение NULL.

[in] eUninstallType

Значение, указывающее тип удаления исправления для выполнения. Этот параметр должен быть INSTALLTYPE_SINGLE_INSTANCE.

Значение Значение
INSTALLTYPE_SINGLE_INSTANCE
Исправление удаляется только для продукта, указанного в szProduct.

[in, optional] szPropertyList

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

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

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

Значение Значение
ERROR_INVALID_PARAMETER
Добавлен недопустимый параметр.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Не удалось открыть пакет исправлений.
ERROR_SUCCESS
Исправление успешно удалено.
ERROR_UNKNOWN_PRODUCT
Продукт, указанный szProductList , не устанавливается ни для компьютера, ни для каждого пользователя для вызывающего объекта MsiRemovePatches.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Не удалось открыть пакет исправлений.
ERROR_PATCH_PACKAGE_INVALID
Пакет исправлений недопустим.
ERROR_PATCH_PACKAGE_UNSUPPORTED
Пакет исправлений не может быть обработан этой версией службы установщика Windows.
ERROR_PATCH_REMOVAL_UNSUPPORTED
Пакет исправлений не является съемным.
ERROR_UNKNOWN_PATCH
Исправление не было применено к этому продукту.
ERROR_PATCH_REMOVAL_DISALLOWED
Удаление исправлений запрещено политикой.

Комментарии

Пример, демонстрирующий, как приложение может удалить исправление из всех продуктов, доступных пользователю, см. в разделе Удаление исправлений .

Примечание

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

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

Сведения о свойствах

MsiApplyPatch

Установка с несколькими пакетами

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

ProductCode

Удаление исправлений

Установка значений открытых свойств в командной строке

Удаление исправлений