Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma atualização de grande importância é uma atualização abrangente de um produto que requer uma alteração do ProductCode Property.
Uma atualização principal típica remove uma versão anterior de um aplicativo e instala uma nova versão. Uma atualização importante pode reorganizar a árvore de componentes do recurso. Para obter mais informações, consulte Código do Produto e Mudança do Código do Produto.
Durante uma atualização importante usando o Windows Installer, o instalador procura no computador do usuário aplicativos relacionados à atualização pendente e, quando deteta um, recupera a versão do aplicativo instalado do registro do sistema. Em seguida, o instalador usa as informações no banco de dados de atualização para determinar se o aplicativo instalado deve ser atualizado.
Para habilitar os recursos de atualização do instalador, cada pacote deve ter um UpgradeCode Property e uma Upgrade Table. Cada produto independente ou pacote de produtos deve ter seu próprio UpgradeCode. Para obter mais informações sobre como usar o UpgradeCode consulte a seção Usando um UpgradeCode. Cada registro na tabela Atualização fornece uma combinação do código de atualização, versão do produto e informações de idioma usadas para identificar um conjunto de produtos afetados pela atualização. Quando a ação FindRelatedProducts deteta que um produto afetado está instalado no sistema, acrescenta o código do produto a uma propriedade na coluna ActionProperty da tabela Upgrade. A ação RemoveExistingProducts e a MigrateFeatureStates removem ou migram os produtos listados na lista ActionProperty. Os autores de pacotes também podem seguir o procedimento descrito no tópico: Preparando um aplicativo para futuras atualizações importantes.
Os pacotes de atualização do Windows Installer podem ser criados de forma que as atualizações principais não sejam instaladas se o usuário já tiver uma versão mais recente do aplicativo instalada. Para obter mais informações sobre como criar um pacote que não será instalado sobre uma versão mais recente, consulte Impedindo que um pacote antigo seja instalado sobre uma versão mais recente
Observação
O Windows Installer usa apenas os três primeiros campos da versão do produto. Consulte ProductVersion Property para obter descrições desses campos. Se você incluir um quarto campo na versão do produto, o instalador ignorará o quarto campo.
O método recomendado de aplicar uma atualização principal instalando o pacote completo para o produto atualizado. Para obter informações sobre como aplicar uma atualização principal instalando o produto, consulte Aplicando atualizações importantes instalando o produto.
Uma atualização importante aplicada como um pacote de patch para o produto não pode ser sequenciada com outras atualizações e não é um patch desinstalável. Para obter informações sobre como aplicar um pacote de patch de atualização principal a um pacote do Windows Installer, consulte Aplicando atualizações importantes corrigindo a instalação local do produto. A aplicação de uma atualização principal usando um pacote de patch não é recomendada, em vez disso, aplique atualizações principais instalando o produto completo.
Observação
Se um aplicativo estiver instalado no contexto de instalação por usuário , qualquer atualização importante para o aplicativo também deverá ser executada usando o contexto por usuário. Se um aplicativo for instalado no contexto de instalação por máquina, qualquer atualização importante para o aplicativo também deverá ser executada usando o contexto por máquina. O Windows Installer não instalará atualizações importantes no contexto de instalação.
Você pode condicionar ações personalizadas, que são sequenciadas após InstallValidate, para lidar com atualizações importantes, usando a propriedade UPGRADINGPRODUCTCODE:
Se você quiser que uma ação personalizada seja executada durante uma desinstalação do produto, mas não durante a remoção do produto por uma grande atualização, use esta condição.
REMOVE="ALL" E NÃO UPGRADINGPRODUCTCODE
Se você quiser que uma ação personalizada seja executada somente durante uma atualização principal, use essa condição.