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


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

Может ли исправление быть удалено, зависит от того, как был создан исправление, версия установщика Windows, используемая для установки исправления, и изменения, внесенные исправлением в приложение. Если исправление недоступно для удаления, то единственным способом удаления исправления является удаление всего приложения и переустановка без применения исправления.

Вы можете вызвать удаление исправлений, примененных к установщику Windows версии 3.0, с помощью параметров командной строки, функции MsiRemovePatches илиметода removePatchesRemovePatches, как описано в разделе Удаление исправлений. Установщик Windows проверяет, что каждый из исправлений, перечисленных для удаления, в свойстве MSIPATCHREMOVE можно удалить. Если у пользователя нет прав на удаление исправления, исправление неизвестно для продукта, политика исправлений предотвращает удаление или исправление было отмечено как недоступное для удаления, установщик возвращает ошибку, указывающую на неудачную транзакцию установки.

Установщик Windows 2.0: Не поддерживается. Исправления, примененные с помощью версии установщика Windows, которая раньше, чем установщик Windows 3.0, не могут быть удалены.

Исправления, которые недоступны для удаления

Исправление (MSP-файл), примененное к установленному приложению, не может быть удалено в следующих случаях. Единственный способ удалить исправление, которое невозможно удалить, — удалить исправленное приложение, а затем переустановить приложение без повторного применения исправления. В этом случае необходимо повторно применять все исправления, которые не нужно удалять из приложения.

  • Исправления, применяемые с помощью версии установщика Windows, которая меньше, чем установщик Windows 3.0, не могут быть удалены.

  • Исправления, применяемые к приложениям, установленным на компьютере с DisablePatchUninstall политиками, установленными администратором, не могут быть удалены. Когда эта политика компьютераустановлена, исправления на компьютере не могут быть удалены даже администратором.

  • Исправления, не имеющие таблицу MsiPatchMetadata в базе данных, не удаляются.

  • Исправления, которые не содержат следующую строку в их msiPatchMetadata таблице, не могут быть удалены. Исправление не может быть удалено для других значений компании, свойства и значения.

    Компания Свойство Ценность
    {Null} AllowRemoval 1

     

  • Исправление было применено к приложению, установленному в контексте, для которого у пользователя недостаточно прав на удаление исправлений. Слова "Не разрешено" в следующей таблице указывают на то, что администратор или пользователь без администратора не может удалять исправления из исправленных приложений, установленных в этом контексте. Слово "Разрешено" в этой таблице означает, что привилегии не препятствуют удалению исправлений администратором или неадминистратором, однако по любым из других причин, рассмотренных в этом разделе, возможно, не удается удалить исправление.

    Контекст установки приложения Удаление исправления администратора Удаление исправлений без администратора
    Per-Machine Дозволенный Как правило, не допускается только исключение, если исправление было применено с помощью исправления (LUA). Исправление, помеченное как исправление LUA, может быть удалено администраторами или неадминистраторами. Исправление LUA доступно только для пакетов, установленных на компьютере с носителя, и требуется специальная разработка.
    Per-User неуправляемый для текущего пользователя Дозволенный Дозволенный
    Per-User неуправляемый для другого пользователя Запрещено Запрещено
    Per-User Управляемое для текущего пользователя Дозволенный Запрещено
    Per-User управляемое для другого пользователя Запрещено Запрещено

     

  • основное обновление, примененное исправлением, не может быть удалено. Основные обновления приложения должны выполняться путем установки обновленного приложения (.msi файла), а не исправления.

  • Исправления, примененные к административной установке, не удаляются. Исправление административных установок не рекомендуется. Текущий набор исправлений должен применяться на компьютере пользователя после установки приложения из административного образа. Это может препятствовать тому, чтобы код пакета , кэшированный на компьютере пользователя, не отличался от кода пакета в административной установке. Если код пакета, кэшированный на компьютере пользователя, отличается от этого в административной установке, переустановите приложение из административной установки, а затем исправьте клиентский компьютер.

  • Когда исправление добавляет новое содержимое в любую из таблиц в следующем списке, установщик Windows помечает исправление как недоступное для удаления. Исправление для удаления может добавлять новые файлы, сборки, записи реестра, компоненты или компоненты в установку, добавляя новые строки в таблицы базы данных, которые не включены в этот список.

последовательности исправлений

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

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

удаление пользовательских действий исправлений

MSIPATCHREMOVE

MsiEnumapplicationsEx

MsiGetPatchInfoEx

MsiRemovePatches