ICE67

O ICE67 verifica se o destino de um atalho não anunciado pertence ao mesmo componente que o atalho em si ou se os atributos do componente de destino garantem que ele não altere os locais de instalação.

A não correção de um aviso ou de um erro relatado pelo ICE67 poderá fazer com que o atalho seja inválido se o componente de destino alterar o estado e o componente de origem não o alterar. Por exemplo, quando o componente do arquivo de destino é definido para execução por meio da origem, uma reinstalação que altera o componente para resultados locais no componente que contém o atalho que não está sendo reinstalado. Portanto, o atalho aponta para um local inválido.

Observe que, em alguns casos, o uso de um componente diferente para o atalho é inevitável. Por exemplo, se o atalho foi criado no perfil do usuário e o arquivo está instalado em um diretório que não seja de perfil, talvez você não consiga usar o mesmo componente para os dois tipos de dados. (Isso resulta em falhas em cenários de vários usuários, como aqueles descritos em ICE57). Nesse caso, você pode usar atalhos anunciados para obter o comportamento desejado ou apenas garantir que o componente de destino não possa ser alterado da execução por meio da origem para o local.

Result

O ICE67 retornará um erro ou um aviso se o destino de um atalho não anunciado não pertencer ao mesmo componente do atalho em si ou se os atributos do componente de destino não garantirem que os locais de instalação não serão alterados.

Exemplo

O ICE67 relata o aviso e os erros a seguir para o exemplo mostrado.

The shortcut 'Shortcut1' is a non-advertised shortcut with a file target. The shortcut and target are installed by different components, and the target component can run locally or from source.

Shortcut1 é instalado pelo Component2, mas o arquivo de destino, File1, é instalado pelo component1. O componente de destino é marcado como opcional (o que significa que ele pode ser local ou executado por meio da origem). Uma situação possível que causará um problema é se o Component1 for alterado da execução por meio da origem para local. Isso fará com que Shortcut1 aponte para um local inválido.

Para corrigir esse aviso, instale o atalho como parte do Component1 ou marque Component1 como LocalOnly ou SourceOnly.

Tabela File (parcial)

Arquivo Component_
Arquivo1 Component1

 

Tabela Shortcut (parcial)

Atalho Component_ Destino
Shortcut1 Component2 [#File1]

 

Tabela Component (parcial)

Componente Atributos
Component1 2

 

Referência do ICE