Partilhar via


Patches não instaláveis

Se um patch pode ser desinstalado depende de como o patch foi criado, da versão do Windows Installer usada para instalar o patch e das 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 com o Windows Installer versão 3.0 usando Opções de Linha de Comando, a funçãoMsiRemovePatchesou 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 propriedade MSIPATCHREMOVE é desinstalável. Se o usuário não tiver privilégios para remover o patch, se o patch for desconhecido para o produto, se a política de patch impedir a remoção ou se o patch tiver sido marcado como não desinstalável, o instalador retornará um erro indicando uma transação de instalação com falha.

Windows Installer 2.0: Não suportado. Os patches aplicados usando uma versão do Windows Installer anterior ao Windows Installer 3.0 não podem ser desinstalados.

Patches que não podem ser desinstaláveis

Um patch (arquivo .msp) aplicado a um aplicativo instalado não pode ser desinstalado nos seguintes casos. O único método para remover um patch que não é desinstalável é desinstalar o aplicativo com patch e, em seguida, reinstalar o aplicativo sem reaplicar o patch. Neste caso, deve reaplicar quaisquer patches que não deseje que sejam removidos da aplicação.

  • Os patches aplicados usando uma versão do Windows Installer menor que o Windows Installer 3.0 não podem ser desinstalados.

  • Os patches aplicados a aplicações instaladas num computador que tenha tido a política DisablePatchUninstall definida por um administrador não podem ser desinstalados. Quando essa de política de máquina tiver sido definida, nenhum patch no computador poderá ser desinstalado, mesmo por um administrador.

  • Os patches que não têm uma tabela de MsiPatchMetadata em seu banco de dados não são desinstaláveis.

  • Os patches que não incluem a seguinte linha na tabela de MsiPatchMetadata não podem ser desinstalados. O patch não pode ser desinstalado para outros valores de Empresa, Propriedade e Valor.

    Companhia Propriedade Valor
    {Nulo} PermitirRemoção 1

     

  • O patch foi aplicado a um aplicativo instalado em um contexto para o qual o usuário não tem privilégios suficientes para desinstalar patches. As palavras "Não permitido" na tabela a seguir indicam que um usuário administrador ou não administrador não pode desinstalar patches de aplicativos com patches instalados neste contexto. A palavra "Permitido" nesta tabela significa que os privilégios não impedem que um usuário administrador ou não administrador desinstale patches, no entanto, por qualquer um dos outros motivos discutidos nesta seção, ainda pode não ser possível desinstalar o patch.

    Contexto de instalação do aplicativo Desinstalação do patch pelo administrador Desinstalação do patch para não-administradores
    Per-Machine Permitido Geralmente não permitido A única exceção é se o patch foi aplicado usando (LUA) patching. Um patch marcado como um patch LUA não pode ser instalado por administradores ou não administradores. O patch LUA só está disponível para pacotes instalados por máquina a partir de 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 o usuário atual Permitido Não permitido
    Per-User gerenciado para diferentes usuários Não permitido Não permitido

     

  • Um grande de atualização aplicado por um patch não é desinstalável. As principais atualizações de um aplicativo devem ser executadas instalando o aplicativo atualizado (arquivo.msi) em vez de um patch.

  • Os patches aplicados a uma instalação administrativa não podem ser desinstalados. A aplicação de patches em 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 a partir 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 desinstalável. Um patch não instalável pode adicionar novos arquivos, assemblies, entradas do Registro, componentes ou recursos a uma instalação adicionando novas linhas a tabelas de banco de dados que não estão incluídas nessa lista.

de sequenciamento de patches

Remoção de patches

Desinstalando patches

Patch Uninstall Custom Actions

MSIPATCHREMOVER

MsiEnumapplicationsEx

MsiGetPatchInfoEx

MsiRemovePatches