Sdílet prostřednictvím


ICE30

ICE30 ověřuje, že instalace komponent obsahujících stejný soubor nikdy neinstaluje soubor více než jednou do stejného adresáře.

ICE30 přejde na každou komponentu v tabulce komponent a pak určí cílový adresář komponenty z tabulky Directory. Pak zkontroluje, které z těchto komponent se nainstalují do stejného cílového adresáře. Nakonec pomocí tabulky File ověří, že žádné soubory v těchto komponentách nemají stejný název.

ICE30 kontroluje dlouhé názvy souborů (LFN) i krátké názvy souborů (SFN).

ICE30 nevyhodnocuje vlastnosti v rozlišení adresářů, protože tyto vlastnosti se můžou změnit za běhu a změnit schéma překladu adresářů. To znamená, že ICE30 dokáže detekovat kolize souborů kvůli adresářům se stejnou vlastností v cestě, ale nezjistí kolize vyplývající ze dvou vlastností se stejnou hodnotou.

Výsledek

ICE30 publikuje chybovou zprávu pro každou dvojici komponent, která nainstaluje stejný soubor do stejného adresáře.

Příklad

Zobrazený příklad vrátí každou z následujících chyb dvakrát.

Chyba nebo upozornění ICE30 Popis
CHYBA: Cílový soubor README.1st je nainstalován v TARGETDIR\PRODUCT dvěma různými komponentami systému SFN: Component1 a Component2. Tím se přeruší počítání odkazů na komponenty. Komponenta1 i komponenta2 mají soubor s názvem READEME.1st. Při použití krátkých názvů souborů instalační program nainstaluje Dir1 i Dir2 do stejného adresáře TARGETDIR\PRODUCT.
ICE30 vygeneruje dvě chyby, jednu pro každý soubor. V prostředí pro vytváření, které zobrazuje umístění chyb, je první chyba na jedné položce souboru v File Tablea druhý v umístění druhého souboru.
CHYBA: Instalace podmíněné komponenty by způsobila instalaci cílového souboru README.1st v TARGETDIR\COMMON TOOLS dvěma různými komponentami systému LFN: Component3 a Component4. Tím by se přerušilo počítání odkazů na komponenty. Komponenta4 obsahuje položku ve sloupci Podmínka tabulky Komponenta a Component3 ne. Pokud versionNT je true, komponenta4 se nainstaluje a dojde ke kolizi s readme.1st vždy nainstalovaný komponentou Component3.
ICE30 generuje 4 chyby, jeden pár pro SFN, jeden pro LFN.
UPOZORNĚNÍ: Cílový soubor README.1st může být nainstalován ve složce TARGETDIR\COMMON TOOLS dvěma různými podmíněnými komponentami v systému SFN: Component4 a Component5. Pokud se podmínky vzájemně nevylučují, přeruší se tím systém počítání odkazů na komponenty. Vzhledem k tomu, že komponenty Component4 i Component5 mají položky ve sloupci Podmínka tabulky Komponenta ke kolizi tohoto souboru nemusí dojít. ICE30 zveřejní upozornění, protože podmínky musí být určeny v době instalace.
ICE30 generuje 4 upozornění, jeden pár pro SFN, jeden pro LFN.

 

komponentní tabulky (částečné)

Komponenta Adresář Podmínka
Component1 Dir1
Component2 Dir2
Component3 Dir3
Component4 Dir3 VersionNT
Component5 Dir3 Version9X

 

tabulky adresářů

Adresář Parent_Directory DefaultDir
SOURCEDIR   TARGETDIR
Dir1 SOURCEDIR Produkt |Součást1 Product:.
Dir2 SOURCEDIR Výrobek:.
Dir3 SOURCEDIR Společné|Běžné nástroje:

 

souborové tabulky (částečné)

Soubor Komponenta_ Jméno souboru
Soubor 1 Component1 README.1st
Soubor 2 Component2 README.1st
Soubor 3 Component3 README.1st
Soubor 4 Component4 README.1st
Soubor 5 Component5 README.1st

 

referenční ICE