A tabela Upgrade contém informações necessárias durante as atualizações principais. Para habilitar totalmente os recursos de atualização do instalador, cada pacote deve ter uma propriedade UpgradeCode e uma tabela Upgrade. Cada registro na tabela Atualizar fornece uma combinação de características do código de atualização, da versão do produto e das informações de idioma usadas para identificar um conjunto de produtos afetados pela atualização. Quando a ação FindRelatedProducts detecta um produto afetado instalado no sistema, ela acrescenta o código do produto a uma propriedade especificada na coluna ActionProperty. A ação RemoveExistingProducts e a ação MigrateFeatureStates removem ou migram somente os produtos listados na coluna ActionProperty.
A tabela Upgrade contém as colunas mostradas na tabela a seguir.
A propriedade UpgradeCode nesta coluna especifica o código de atualização de todos os produtos que devem ser detectados pela ação FindRelatedProducts.
VersionMin
Limite inferior do intervalo de versões do produto detectadas por FindRelatedProducts.
Insira msidbUpgradeAttributesVersionMinInclusive em Attributes para incluir VersionMin no intervalo. Se VersionMin for igual a uma cadeia de caracteres vazia (""), ela será avaliada da mesma forma que 0. Se VersionMin for nulo, FindRelatedProducts ignorará msidbUpgradeAttributesVersionMinInclusive e detectará todas as versões anteriores. VersionMin e VersionMax não devem ser nulos.
VersionMin deve ser uma versão válida do produto, conforme descrito para a propriedade ProductVersion. O Windows Installer usa apenas os três primeiros campos da versão do produto. Se você incluir um quarto campo na versão do produto, o instalador ignorará o quarto campo.
VersionMax
Limite superior do intervalo de versões do produto detectadas pela ação FindRelatedProducts.
Insira msidbUpgradeAttributesVersionMaxInclusive em Attributes para incluir VersionMax no intervalo. Se VersionMax for uma cadeia de caracteres vazia (""), ela será avaliada da mesma forma que 0. Se VersionMax for nulo, FindRelatedProducts ignorará msidbUpgradeAttributesVersionMaxInclusive e detectará todas as versões do produto maiores que (ou maiores que ou iguais a) o limite inferior especificado por VersionMin e msidbUpgradeAttributesVersionMinInclusive. VersionMin e VersionMax não devem ser nulos.
VersionMax deve ser uma versão válida do produto, conforme descrito para a propriedade ProductVersion. O Windows Installer usa apenas os três primeiros campos da versão do produto. Se você incluir um quarto campo na versão do produto, o instalador ignorará o quarto campo.
Language
O conjunto de idiomas detectado por FindRelatedProducts. Insira uma lista de identificadores de linguagem numéricos (LANGID) separados por vírgulas. Insira msidbUpgradeAttributesLanguagesExclusive em Atributos para detectar todos os idiomas exclusivos daqueles listados em Language. Se Language for nulo ou uma cadeia de caracteres vazia (""), FindRelatedProducts ignorará msidbUpgradeAttributesLanguagesExclusive e detectará todos os idiomas.
Attributes
Esta coluna contém sinalizadores de bits especificando atributos da tabela Upgrade.
Detecta produtos e aplicativos, mas não é removido.
msidbUpgradeAttributesIgnoreRemoveFailure
4
0x004
Continua a instalação após falha ao remover um produto ou aplicativo.
msidbUpgradeAttributesVersionMinInclusive
256
0x100
Detecta o intervalo de versões, incluindo o valor em VersionMin.
msidbUpgradeAttributesVersionMaxInclusive
512
0x200
Detecta o intervalo de versões, incluindo o valor em VersionMax.
msidbUpgradeAttributesLanguagesExclusive
1024
0x400
Detecta todos os idiomas, excluindo os idiomas listados na coluna Idioma.
Remove
O instalador define a propriedade REMOVE como recursos especificados nesta coluna. Os recursos a serem removidos podem ser determinados em tempo de execução. A cadeia de caracteres Formattedinserida neste campo deve ser avaliada como uma lista delimitada por vírgulas de nomes de recursos. Por exemplo: [Feature1],[Feature2],[Feature3]. Nenhum recurso será removido, se o campo contiver texto formatado que seja avaliado como uma cadeia de caracteres vazia (""). O instalador define REMOVE=ALL somente se o campo Remove estiver vazio. Observe a diferença entre uma cadeia de caracteres vazia e um campo vazio. Se o campo estiver vazio, ele será nulo.
ActionProperty
Quando a ação FindRelatedProducts detecta um produto relacionado instalado no sistema, ela acrescenta o código do produto à propriedade especificada nesse campo. A propriedade especificada nessa coluna deve ser uma propriedade pública e o autor do pacote deve adicionar a propriedade à propriedade SecureCustomProperties. Cada linha na tabela Upgrade deve ter um valor exclusivo ActionProperty. Após FindRelatedProducts, o valor dessa propriedade é uma lista de códigos de produto, separados por ponto e vírgula (;), detectados no sistema.
Deseja aprender mais como compilar procedimentos de instalação e atualização eficientes? Existem técnicas essenciais que você deve aprender para compilar aplicativos bons e amigáveis.