Partilhar via


ICE35

O ICE35 valida que os componentes que contêm arquivos compactados armazenados em um de arquivo de gabinete não estão definidos para serem executados a partir da origem. Com o Windows Installer 2.0 ou posterior, essa restrição foi removida.

O ICE35 consulta a coluna Gabinete da tabela Media para determinar quais arquivos são compactados e armazenados em um arquivo de gabinete. Ele consulta a tabela Arquivo para determinar quais componentes contêm esses arquivos. Finalmente, ele verifica a tabela Componente para determinar se os bits de origem são definidos na coluna Atributos.

Resultado

ICE35 posta uma mensagem de erro se houver um arquivo compactado armazenado em um arquivo de gabinete pertencente a um componente com o bit msidbComponentAttributesSourceOnly definido na coluna Atributos da tabela Componente . Com o Windows Installer 2.0 ou posterior, isso é alterado de um erro para uma mensagem de aviso. Um pacote que suporta apenas o Windows Installer 2.0 e posterior tem a propriedade PID_PAGECOUNT do Summary Information Stream definida como um valor de pelo menos 200.

ICE35 posta mensagem de aviso se houver um arquivo compactado armazenado em um arquivo de gabinete pertencente a um componente com o bit msidbComponentAttributesOptional definido na coluna Atributos da tabela Componente . Esta mensagem de aviso foi removida com o Windows Installer 2.0 e posterior.

Se vários arquivos em um componente estiverem em um arquivo de gabinete, o ICE35 relatará erros para cada arquivo que tenha o bit run from source definido.

Exemplo

ICE35 relata os seguintes erros e avisos para o exemplo mostrado usando uma versão anterior ao Windows Installer versão 2.0.

Erro ICE35 Descrição
ERRO: O componente Component3 não pode ser executado somente a partir da origem, porque seu arquivo membro 'File3' é compactado. Há um arquivo compactado armazenado em um arquivo de gabinete e esse arquivo pertence a um componente com o bit SourceOnly definido na coluna Atributos da tabela Component. Para corrigir esse erro, altere os 2 bits inferiores do valor Atributos do Component2 para "00", significando somente Local, ou remova o File4 do arquivo CAB.
ERRO: O componente Component3 não pode ser executado somente a partir da origem, porque seu arquivo membro 'File3' é compactado. Há um arquivo compactado armazenado em um arquivo de gabinete e esse arquivo pertence a um componente com o bit SourceOnly definido na coluna Atributos da tabela Component. Como os arquivos em um componente não precisam ser todos originários da mesma mídia, o ICE35 relata erros para cada arquivo no componente que está em um gabinete.
Para corrigir esse erro, altere os 2 bits inferiores do valor Atributos do Component2 para "00", significando somente Local, ou remova o File4 do arquivo CAB.

 

Media Table (parcial)

ID do disco LastSequence Gabinete
1 2  
2 4 One.cab
3 5 #Two.cab

 

Tabela de Ficheiros (parcial)

Ficheiro Component_ Sequência
Ficheiro1 Componente1 1
Ficheiro2 Componente2 2
Ficheiro3 Componente2 3
Ficheiro4 Componente3 4
Ficheiro5 Componente3 5

 

Tabela de componentes (parcial)

Componente Atributos
Componente1 0
Componente2 2
Componente3 1

 

Tabela de atalho (parcial)

Atalho Icon_
Atalho1 Ícone2

 

Observe que os arquivos também podem ser marcados como compactados usando a propriedade Word Count Summary do fluxo Summary Information.

de referência ICE