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


Функция 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, которая является ProductCode (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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик 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

См. также

о свойствах

MsiApplyPatch

Multiple-Package установки

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

ProductCode

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

задание значений общедоступных свойств в командной строке

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