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 pré-criadas na tabela Property.
- Todas as propriedades ActionProperty são propriedades públicas.
- Todas as propriedades ActionProperty estão incluídas na propriedadeSecureCustomProperties.
- Todas as propriedades ActionProperty são exclusivas para cada registro na tabela Upgrade.
- Todos os valores VersionMax não são inferiores aos valores VersionMin correspondentes.
- Os valores VersionMin e VersionMax são versões válidas do produto. Consulte a propriedade ProductVersion para obter o formato de versão do produto válido.
- Nenhuma tentativa é feita para remover uma versão mais recente ou igual do produto atual.
A falha na correção de um aviso ou erro relatado pelo ICE61 geralmente leva a problemas na atualização do seu aplicativo. Dependendo do erro exato, isso pode ser qualquer coisa, desde deixar arquivos da versão mais antiga para trás, excluir arquivos da versão mais antiga, mesmo que eles sejam necessários para o novo aplicativo, ou falha completa da atualização.
Resultado
ICE61 publica um aviso ou erro se qualquer uma das condições acima não for verdadeira.
Exemplo
O ICE61 relata os seguintes erros e avisos 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)
Neste caso, a primeira linha tentaria remover um produto da mesma versão. (A coluna VersionMax é igual à versão do produto na tabela Propriedade).
Para corrigir esse erro, use uma versão na coluna VersionMax inferior à versão atual especificada na tabela Propriedade. Remova o bit de msidbUpgradeAttributesVersionMaxInclusive da coluna Atributos se o VersionMax for igual à versão atual. Se a intenção for apenas detetar o produto e não removê-lo, adicionar o msidbUpgradeAttributesOnlyDetect bit à coluna Atributos 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 é passada para o lado do servidor da instalação quando a propriedade é encontrada.
Para corrigir esse erro, adicione a propriedade a SecureCustomProperties.
Upgrade.ActionProperty EnglishAPPFOUND must not contain lowercase letters.
As propriedades de atualização devem ser propriedades públicas para que o resultado seja passado 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 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 deve ser inferior à versão máxima.
Para corrigir esse erro, verifique se há erros de digitação nos números da versão. Se eles estiverem corretos e você quiser usar o intervalo entre as duas versões, alterne-os para que o VersionMin seja menor que o VersionMax.
Propriedade | Valor |
---|---|
UpgradeCode | {61AA4C55-E17F-11D2-93BB-0060089A76DB} |
ProductVersion | 2.01.0000 |
SecureCustomProperties | OLDAPPFOUND |
Código de atualização | VersãoMin | VersãoMax | 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] | InglêsAPPFOUND |
Tópicos relacionados