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


Действия по согласованию для выполнения во время удаления

Существует два способа создания базы данных установки, чтобы действие вызывалось только при удалении пакета.

  • Если действие выполняется после действия InstallValidate в таблице InstallExecuteSequence, автор пакета может указать условие REMOVE="ALL" для действия в столбце Условие. Обратите внимание, что свойство REMOVE не гарантированно будет иметь значение ALL во время удаления, прежде чем установщик выполнит действие InstallValidate. Обратите внимание, что в этом случае кавычки вокруг значения ALL являются обязательными.
  • Если действие выполняется после действия CostFinalize и любых действий, которые могут изменить состояние компонента, таких как действие MigrateFeatureStates, действие может быть обусловлено состоянием конкретного компонента или компонента. См. раздел Синтаксис условных операторов. Используйте этот параметр, чтобы вызвать действие во время удаления определенного компонента или компонента, которое может произойти вне полного удаления приложения.

Обратите внимание, что свойство Installed можно использовать в условных выражениях, чтобы определить, установлен ли продукт для каждого компьютера или для текущего пользователя. Чтобы определить, установлен ли продукт для другого пользователя, проверка свойство ProductState.

Обратите внимание, что старые версии продукта могут быть удалены во время обновления с помощью действия RemoveExistingProducts. В этом случае таблица Upgrade также может задать для свойства REMOVE значение ALL. Чтобы определить, удаляется ли продукт путем обновления, проверка свойство UPGRADEINGPRODUCTCODE. Установщик задает это свойство только в том случае, если removeExistingProducts удаляет продукт. Установщик не задает свойство при обычном удалении, например при удалении с помощью установки и удаления программ.