Partilhar via


ICE61

O ICE61 verifica a tabela de atualização para garantir que as seguintes condições sejam verdadeiras:

  • Todas as propriedades ActionProperty não são criadas previamente na tabela Property.
  • Todas as propriedades ActionProperty são propriedades públicas.
  • Todas as propriedades ActionProperty estão incluídas na propriedade SecureCustomProperties.
  • Todas as propriedades ActionProperty são exclusivas de cada registro da tabela Upgrade.
  • Todos os valores de VersionMax não são menores que os valores de VersionMin correspondentes.
  • Os valores VersionMin e VersionMax são versões válidas do produto. Confira a propriedade ProductVersion para obter o formato válido de versão do produto.
  • Nenhuma tentativa é feita para remover uma versão mais recente ou igual do produto atual.

Em geral, a não correção de um aviso ou de um erro relatado pelo ICE61 resulta em problemas na atualização do aplicativo. Dependendo do erro exato, isso pode ser algo como deixar arquivos da versão mais antiga para trás, excluindo os arquivos da versão mais antiga, mesmo que eles sejam necessários para o novo aplicativo ou uma falha completa da atualização.

Result

O ICE61 postará um aviso ou um erro se uma das condições acima não for verdadeira.

Exemplo

O ICE61 relata os erros e os avisos a seguir para os exemplos mostrados.

This product should remove only older versions of itself. The Maximum version is not less than the current product. (2.01.0000 2.01.0000)

Nesse caso, a primeira linha tentará remover um produto da mesma versão. (A coluna VersionMax é igual à versão do produto na tabela Property).

Para corrigir esse erro, use uma versão na coluna VersionMax inferior à versão atual especificada na tabela Property. Remova o bit msidbUpgradeAttributesVersionMaxInclusive da coluna Attributes se o VersionMax for igual à versão atual. Se a intenção for apenas detectar o produto e não removê-lo, a adição do bit msidbUpgradeAttributesOnlyDetect à coluna Attributes também corrigirá esse erro.

Upgrade.ActionProperty EnglishAPPFOUND must be added to the SecureCustomProperties property.

A menos que a propriedade esteja listada na propriedade SecureCustomProperties, a propriedade não será transmitida para o lado do servidor da instalação quando ela for encontrada.

Para corrigir esse erro, adicione a propriedade a SecureCustomProperties.

Upgrade.ActionProperty EnglishAPPFOUND must not contain lowercase letters.

As propriedades de atualização precisam ser propriedades públicas para que o resultado seja transmitido para o lado do servidor da instalação.

Para corrigir esse erro, use todas as letras maiúsculas no nome da propriedade.

Upgrade.ActionProperty OLDAPPFOUND may be used in only one record of the Upgrade table.

Uma propriedade só pode ser usada em uma linha individual da tabela Upgrade.

Para corrigir esse erro, use uma propriedade diferente para a segunda linha.

Upgrade.VersionMax cannot be less than Upgrade.VersionMin. (OLDAPPFOUND)

A versão mínima precisa ser menor que a versão máxima.

Para corrigir esse erro, verifique se há erros de digitação dos números de versão. Se eles estiverem corretos e você quiser usar o intervalo entre as duas versões, alterne-as para que VersionMin seja menor que VersionMax.

Tabela Property

Propriedade Valor
UpgradeCode {61AA4C55-E17F-11D2-93BB-0060089A76DB}
ProductVersion 2.01.0000
SecureCustomProperties OLDAPPFOUND

 

Tabela Upgrade

UpgradeCode VersionMin VersionMax Idioma Atributos Remover ActionProperty
{61AA4C55-E17F-11D2-93BB-0060089A76DB} 2.01.0000 513 OLDAPPFOUND
{61AA4C55-E17F-11D2-93BB-0060089A76DB} 2.01.0001 2.01.0000 OLDAPPFOUND
{C6CB4596-D8E8-D5A4-635F-9FE456D682EB} 1.00.0000 2.00.0000 1033 [AppFeatureEnglish] EnglishAPPFOUND

 

Referência do ICE