Patches desinstaláveis
Se um patch pode ser desinstalado depende de como o patch foi criado, a versão do Windows Installer usada para instalar o patch e as alterações feitas pelo patch no aplicativo. Se um patch não for desinstalável, a única maneira de remover o patch é desinstalar todo o aplicativo e reinstalar sem aplicar o patch que está sendo removido.
Você pode solicitar a desinstalação de patches aplicados ao Windows Installer versão 3.0 usando opções de linha de comando, a função MsiRemovePatches ou o método RemovePatches conforme descrito na seção Desinstalando Patches. O Windows Installer verifica se cada um dos patches listados para remoção na propriedadeMSIPATCHREMOVEé desinstalável. Se o usuário não tiver privilégios para remover o patch, o patch será desconhecido para o produto, a política de patch impedirá a remoção ou o patch foi marcado como não desinstalável, o instalador retornará um erro indicando uma transação de instalação com falha.
Windows Installer 2.0: Sem suporte. Os patches aplicados usando uma versão do Windows Installer anterior ao Windows Installer 3.0 não são desinstaláveis.
Patches que não são desinstaláveis
Um patch (arquivo.msp) aplicado a um aplicativo instalado não é desinstalável nos casos a seguir. O único método para remover um patch que não é desinstalável é desinstalar o aplicativo corrigido e reinstalar o aplicativo sem reaplicar o patch. Nesse caso, você deve reaplicar todos os patches que você não deseja remover do aplicativo.
Os patches aplicados usando uma versão do Windows Installer menor que o Windows Installer 3.0 não são desinstaláveis.
Os patches aplicados a aplicativos instalados em um computador que teve a política DisablePatchUninstall definida por um administrador não são desinstaláveis. Quando esse de política de computador foi definido, nenhum patche no computador pode ser desinstalado, mesmo por um administrador.
Os patches que não têm uma tabela MsiPatchMetadata no banco de dados não são desinstaláveis.
Os patches que não incluem a linha a seguir em suas tabela MsiPatchMetadata não são desinstaláveis. O patch não é desinstalável para outros valores de Empresa, Propriedade e Valor.
Companhia Propriedade Valor {Null} AllowRemoval 1 O patch foi aplicado a um aplicativo instalado em um contexto para o qual o usuário tem privilégios insuficientes para desinstalar patches. As palavras "Não Permitido" na tabela a seguir indicam que um administrador ou usuário não administrador não pode desinstalar patches de aplicativos corrigidos instalados neste contexto. A palavra "Permitido" nesta tabela significa que os privilégios não impedem um administrador ou usuário não administrador de desinstalar patches, no entanto, por qualquer um dos outros motivos discutidos nesta seção, talvez ainda não seja possível desinstalar o patch.
Contexto de instalação do aplicativo Desinstalação do patch pelo administrador Desinstalação não administrador do patch Per-Machine Permitido Geralmente não permitido A única exceção é se o patch foi aplicado usando a aplicação de patch (LUA). Um patch marcado como um patch LUA é desinstalável por administradores ou não administradores. A aplicação de patch LUA só está disponível para pacotes instalados por computador por meio da mídia e exigem criação especial. Per-User não gerenciado para o usuário atual Permitido Permitido Per-User não gerenciado para usuários diferentes Não permitido Não permitido Per-User Gerenciado para Usuário Atual Permitido Não permitido Per-User gerenciado para usuários diferentes Não permitido Não permitido Uma atualização principal aplicada por um patch não é desinstalável. As atualizações principais de um aplicativo devem ser executadas instalando o aplicativo atualizado (.msi arquivo) em vez de um patch.
Os patches aplicados a uma instalação administrativa não são desinstaláveis. A aplicação de patch de instalações administrativas não é recomendada. O conjunto atual de patches deve ser aplicado no computador do usuário depois que o usuário instala o aplicativo a partir da imagem administrativa. Isso pode impedir que o código do pacote armazenado em cache no computador do usuário se torne diferente do código do pacote na instalação administrativa. Se o código do pacote armazenado em cache no computador do usuário se tornar diferente daquele na instalação administrativa, reinstale o aplicativo da instalação administrativa e, em seguida, corrija o computador cliente.
Quando um patch adiciona novo conteúdo a qualquer uma das tabelas na lista a seguir, o Windows Installer marca o patch como não sendo desinstalável. Um patch desinstalável pode adicionar novos arquivos, assemblies, entradas de registro, componentes ou recursos a uma instalação adicionando novas linhas a tabelas de banco de dados que não estão incluídas nesta lista.
[! Observação]
Se um patch adicionar novo conteúdo ao RemoveFile ou tabelas removeRegistry, o Windows Installer não marcará o patch como não sendo desinstalável. No entanto, o patch não é desinstalável, a menos que o recurso para remover o novo conteúdo ainda não exista no pacote de instalação original. Por exemplo, se o patch adicionar uma nova linha à tabela RemoveFile, o arquivo removido não poderá ser restaurado desinstalando o patch se o arquivo estiver externo à tabela Arquivo. O arquivo deve ter sido criado na tabela Arquivo do pacote original e patches aplicados para que o patch seja desinstalável.
Tópicos relacionados