Partilhar via


Ações de condicionamento a serem executadas durante a remoção

Há duas maneiras de criar o banco de dados de instalação para que uma ação seja chamada somente quando o pacote for desinstalado:

  • Se a ação for sequenciada após a ação InstallValidate na tabela InstallExecuteSequence, o autor do pacote poderá especificar uma condição de REMOVE="ALL" para a ação na coluna Condition. Observe que não há garantia de que a propriedade REMOVE seja definida como ALL durante uma desinstalação antes que o instalador execute a ação InstallValidate. Observe que as aspas ao redor do valor ALL são necessárias nesse caso.
  • Se a ação for sequenciada após a ação CostFinalize e todas as ações que poderiam alterar o estado do recurso, como a ação MigrateFeatureStates, a ação poderá ser condicionada ao estado de um determinado recurso ou componente. Confira Sintaxe de instruções condicionais. Use essa opção para chamar uma ação durante a remoção de um determinado recurso ou componente, que pode ocorrer fora da remoção completa do aplicativo.

Observe que a propriedade Installed pode ser usada em expressões condicionais para determinar se um produto está instalado por computador ou pelo usuário atual. Para determinar se o produto foi instalado por um usuário diferente, verifique a propriedade ProductState.

Observe que versões mais antigas de um produto podem ser removidas durante uma atualização pela ação RemoveExistingProducts. A tabela Upgrade também pode definir a propriedade REMOVE como ALL nesse caso. Para determinar se um produto está sendo removido por uma atualização, verifique a propriedade UPGRADINGPRODUCTCODE. O instalador só define essa propriedade quando RemoveExistingProducts remove o produto. O instalador não define a propriedade durante uma desinstalação normal, como remoção com programas de Adição/Remoção.