ICE67
ICE67 проверяет, принадлежит ли целевой объект нерекоменционного ярлыка тому же компоненту, что и сам ярлык, или что атрибуты целевого компонента не изменяют расположения установки.
Если целевой компонент изменяет состояние целевого компонента, а исходный компонент не изменяет состояние, это может привести к ошибке, если предупреждение или ошибка, сообщаемая ICE67, может привести к недопустимому ярлыку. Например, если компонент целевого файла настроен на запуск из источника, переустановка, которая изменяет компонент на локальные результаты в компоненте, содержающем ярлык, не переустановленный. Таким образом, ярлык указывает на недопустимое расположение.
Обратите внимание, что в некоторых случаях использование другого компонента для ярлыка неизбежно. Например, если ярлык создается в профиле пользователя и файл устанавливается в каталог, отличный от профиля, возможно, вы не сможете использовать один и тот же компонент для обоих фрагментов данных. (Это приводит к сбоям в сценариях с несколькими пользователями, таких как описанные в ICE57). В этом случае можно использовать объявленные ярлыки для достижения требуемого поведения или просто убедиться, что целевой компонент не может перейти с запуска из источника на локальный.
ICE67 возвращает ошибку или предупреждение, если целевой объект нерекоменционированного ярлыка не принадлежит к тому же компоненту, что и сам ярлык, или если атрибуты целевого компонента не будут изменяться.
ICE67 сообщает следующее предупреждение и ошибки для показанного примера.
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.
Ярлык1 устанавливается компонентом Component2, но его целевой файл File1 устанавливается компонентом 1. Целевой компонент помечен как необязательный (это означает, что он может быть локальным или запущенным из источника). Одна из возможных ситуаций, которая вызовет проблему, заключается в том, что компонент Component1 меняется с запуска из источника на локальный. Это приведет к тому, что Ярлык1 указывает на недопустимое расположение.
Чтобы устранить это предупреждение, установите ярлык как часть компонента Component1 или пометьте Component1 как LocalOnly или SourceOnly.
Таблица файлов (частичная)
Файл | Component_ |
---|---|
Файл1 | Компонент1 |
Таблица ярлыков (частичная)
Сочетание клавиш | Component_ | Назначение |
---|---|---|
Ярлык1 | Компонент2 | [#File1] |
Таблица компонентов (частичная)
Компонент | Атрибуты |
---|---|
Компонент1 | 2 |