Поделиться через


ICE30

ICE30 проверяет, что установка компонентов, содержащих один и тот же файл, никогда не устанавливает файл несколько раз в одном каталоге.

ICE30 переходит к каждому компоненту в таблице компонентов , а затем определяет целевой каталог компонента из таблицы каталогов . Затем проверяет, какие из этих компонентов устанавливаются в тот же целевой каталог. Наконец, в ней используется таблица файлов, чтобы убедиться, что ни один из файлов в этих компонентах не имеет того же имени.

ICE30 проверяет длинные имена файлов (LFN) и короткие имена файлов (SFN).

ICE30 не оценивает свойства в разрешении каталогов, так как эти свойства могут изменяться во время выполнения и изменять схему разрешения каталогов. Это означает, что ICE30 может обнаруживать столкновения файлов из-за каталогов с тем же свойством в их путях, но не обнаруживает столкновения, полученные из двух свойств с одинаковым значением.

Результат

ICE30 отправляет сообщение об ошибке для каждой пары компонентов, устанавливающих один и тот же файл в один каталог.

Пример

В приведенном примере каждый из следующих ошибок возвращается дважды.

Ошибка или предупреждение ICE30 Описание
ОШИБКА. Целевой файл README.1st устанавливается в targetDIR\PRODUCT двумя разными компонентами системы SFN: Component1 и Component2. Это нарушает подсчет ссылок на компоненты. Component1 и Component2 имеют файл с именем READEME.1st. При использовании коротких имен файлов установщик устанавливает Dir1 и Dir2 в один каталог TARGETDIR\PRODUCT.
ICE30 создает две ошибки, по одному для каждого файла. В среде разработки, в которой отображаются расположения ошибок, первая ошибка находится в записи одного файла в таблице файлов, а вторая — в расположении другого файла.
ОШИБКА. Установка условного компонента приведет к установке целевого файла README.1st в targetDIR\COMMON TOOLS двумя разными компонентами системы LFN: Component3 и Component4. Это приведет к прерыванию подсчета ссылок на компоненты. Компонент4 содержит запись в столбце "Условие" таблицы компонентов и Component3. Если versionNT имеет значение True, компонент 4 устанавливается и возникает столкновение с компонентом Readme.1st всегда устанавливается компонентом 3.
ICE30 создает 4 ошибки, одну пару для SFN, одну для LFN.
ПРЕДУПРЕЖДЕНИЕ. Целевой файл README.1st может быть установлен в targetDIR\COMMON TOOLS двумя разными условными компонентами в системе SFN: Component4 и Component5. Если условия не являются взаимоисключающими, это приведет к разрыву системы подсчета ссылок на компоненты. Так как component4 и Component5 имеют записи в столбце условий таблицы компонентов , это столкновение файлов может не произойти. ICE30 публикует предупреждение только из-за того, что условия должны быть определены во время установки.
ICE30 создает 4 предупреждения, одну пару для SFN, одну для LFN.

 

таблица компонентов (частичная)

Компонент Каталог Состояние
Компонент1 Dir1
Компонент2 Dir2
Компонент3 Dir3
Компонент4 Dir3 VersionNT
Компонент5 Dir3 Version9X

 

таблицы каталогов

Каталог Parent_Directory DefaultDir
SOURCEDIR   TARGETDIR
Dir1 SOURCEDIR Продукт |Компонент1 Product:.
Dir2 SOURCEDIR Продукт:.
Dir3 SOURCEDIR Common|Общие инструменты:

 

таблицу файлов (частично)

Файл Компонент_ Имя файла
Файл1 Компонент1 README.1st
File2 Компонент2 README.1st
Файл3 Компонент3 README.1st
Файл4 Компонент4 README.1st
File5 Компонент5 README.1st

 

Справочник по ice