Partilhar via


ICE30

ICE30 valida que a instalação de componentes contendo o mesmo arquivo nunca instala o arquivo mais de uma vez no mesmo diretório.

O ICE30 vai para todos os componentes da tabela Component e, em seguida, determina o diretório de destino do componente a partir da tabela Directory. Em seguida, ele verifica quais desses componentes são instalados no mesmo diretório de destino. Finalmente, ele usa a tabela File para verificar se nenhum dos arquivos nesses componentes tem o mesmo nome.

O ICE30 verifica nomes de arquivo longos (LFN) e nomes de arquivos curtos (SFN).

O ICE30 não avalia propriedades na resolução de diretórios porque essas propriedades podem ser alteradas em tempo de execução e alterar o esquema de resolução de diretórios. Isso significa que o ICE30 pode detetar colisões de arquivos devido a diretórios com a mesma propriedade em seus caminhos, mas não deteta colisões resultantes de duas propriedades com o mesmo valor.

Resultado

ICE30 posta uma mensagem de erro para cada par de componentes que instala o mesmo arquivo no mesmo diretório.

Exemplo

O exemplo mostrado retorna cada um dos seguintes erros duas vezes.

Erro ou aviso ICE30 Descrição
ERRO: O arquivo de destino 'README.1st' é instalado em 'TARGETDIR\PRODUCT' por dois componentes diferentes em um sistema SFN: 'Component1' e 'Component2'. Isso interrompe a contagem de referência de componentes. Component1 e Component2 têm um arquivo chamado 'READEME.1st'. Ao usar nomes de arquivo curtos, o instalador instala Dir1 e Dir2 no mesmo diretório, TARGETDIR\PRODUCT.
ICE30 gerar dois erros, um para cada arquivo. Em um ambiente de criação que exibe locais de erro, o primeiro erro está na entrada de um arquivo no File Tablee o segundo no local do outro arquivo.
ERRO: A instalação de um componente condicionalizado faria com que o arquivo de destino 'README.1st' fosse instalado em 'TARGETDIR\COMMON TOOLS' por dois componentes diferentes em um sistema LFN: 'Component3' e 'Component4'. Isso quebraria a contagem de referência de componentes. Component4 tem uma entrada na coluna Condição da tabela Componente e Component3 não. Se VersionNT for True, o Component4 será instalado e haverá uma colisão com o Readme.1st sempre instalado pelo Component3.
ICE30 gera 4 erros, um par para SFN, um para LFN.
AVISO: O arquivo de destino 'README.1st' pode ser instalado em 'TARGETDIR\COMMON TOOLS' por dois componentes condicionais diferentes em um sistema SFN: 'Component4' e 'Component5'. Se as condições não forem mutuamente exclusivas, isso quebrará o sistema de contagem de referência do componente. Como Component4 e Component5 têm entradas na coluna Condição da tabela Componente essa colisão de arquivo pode não ocorrer. O ICE30 apenas publica um aviso porque as condições devem ser determinadas no momento da instalação.
ICE30 gera 4 avisos, um par para SFN, um para LFN.

 

Tabela de componentes (parcial)

Componente Diretório Condição
Componente1 Dir1
Componente2 Dir2
Componente3 Dir3
Componente4 Dir3 VersãoNT
Componente5 Dir3 Versão9X

 

Tabela de Diretórios

Diretório Parent_Directory DefaultDir
FONTEDIR   TARGETDIR
Dir1 FONTEDIR Produto|Produto Component1:.
Dir2 FONTEDIR Produto:.
Dir3 FONTEDIR Frequentes|Ferramentas comuns:

 

Tabela de Ficheiros (parcial)

Ficheiro Component_ Nome do arquivo
Ficheiro1 Componente1 LEIA-ME.1
Ficheiro2 Componente2 LEIA-ME.1
Ficheiro3 Componente3 LEIA-ME.1
Ficheiro4 Componente4 LEIA-ME.1
Ficheiro5 Componente5 LEIA-ME.1

 

de referência ICE