ICE30
ICE30 проверяет, что установка компонентов, содержащих один и тот же файл, никогда не устанавливает файл более одного раза в одном каталоге.
ICE30 переходит к каждому компоненту в таблице Компонент , а затем определяет целевой каталог компонента из таблицы Каталог. Затем проверяется, какие из этих компонентов устанавливаются в тот же целевой каталог. Наконец, она использует таблицу File , чтобы убедиться, что ни один из файлов в этих компонентах не имеет одинаковых имен.
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 имеет запись в столбце Условие таблицы Компонент , а Компонент 3 — нет. Если versionNT имеет значение True, компонент Component4 устанавливается и возникает конфликт с файлом Readme.1st, который всегда устанавливается компонентом Component3. ICE30 создает 4 ошибки: одна пара для SFN, одна для LFN. |
ПРЕДУПРЕЖДЕНИЕ. Целевой файл README.1st может быть установлен в TARGETDIR\COMMON TOOLS двумя разными условными компонентами в системе SFN: Component4 и Component5. Если условия не являются взаимоисключающими, это нарушит систему подсчета ссылок на компоненты. | Так как Component4 и Component5 имеют записи в столбце Условие таблицы Компонент , конфликт файлов может не произойти. ICE30 публикует только предупреждение, так как условия должны быть определены во время установки. ICE30 создает 4 предупреждения: одно — для SFN, одно — для LFN. |
Таблица компонентов (частичная)
Компонент | Directory | Условие |
---|---|---|
Компонент1 | Dir1 | |
Компонент 2 | Dir2 | |
Компонент 3 | Dir3 | |
Компонент 4 | Dir3 | VersionNT |
Компонент 5 | Dir3 | Version9X |
Directory | Parent_Directory | DefaultDir |
---|---|---|
SOURCEDIR | TARGETDIR | |
Dir1 | SOURCEDIR | Продукт | Компонент 1 Продукт:. |
Dir2 | SOURCEDIR | Продукта:. |
Dir3 | SOURCEDIR | Общие | Общие инструменты: |
Таблица файлов (частичная)
File | Компонент_ | FileName |
---|---|---|
Файл1 | Компонент1 | README.1st |
Файл2 | Компонент 2 | README.1st |
Файл3 | Компонент 3 | README.1st |
Файл4 | Компонент 4 | README.1st |
Файл5 | Компонент 5 | README.1st |