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 |
Связанные разделы