ICE36

O ICE36 valida que cada ícone na tabela Icon é listado pelo menos uma vez na propriedade ARPPRODUCTICON ou nas tabelas Class, ProgId ou Shortcut.

Durante o anúncio, o instalador instala todos os ícones listados na tabela Icon no computador do usuário. Ter ícones não utilizados na tabela Icon não impede que a instalação seja executada, no entanto, aumenta desnecessariamente o tamanho do arquivo .msi e o tempo e o espaço necessários para anunciar um recurso.

Se um ícone não for referenciado na propriedade ou tabela e nenhuma interface do usuário for fornecida para criar uma referência no tempo de execução, você deverá remover o ícone para obter melhorar o desempenho.

Result

O ICE36 postará uma mensagem se houver um ícone na tabela Icon que não seja referenciado nas tabelas Class, ProgId ou Shortcut e se nenhuma interface do usuário for fornecida para criar essa referência no tempo de execução.

Exemplo

O ICE36 relata o erro a seguir para o exemplo mostrado.

Icon Bloat. Icon Icon4 is not used in the Class, Shortcut, or ProgID table. This adversely affects performance.

Tabela Icon (parcial)

Nome Dados
Icon1 Control1
Icon2 Control2
Icon3 Control3
Icon4 Control4

 

Tabela ProgID (parcial)

ProgID
Property1

 

Tabela Class (parcial)

CLSID
{3E469ABA-3644-11d2-8892-00A0C981B015}

 

Tabela Shortcut (parcial)

Atalho Icon_
Shortcut1 Icon2

 

Referência do ICE