ICE30
ICE30 convalida che l'installazione di componenti contenenti lo stesso file non installa mai il file più di una volta nella stessa directory.
ICE30 passa a ogni componente della tabella Component e quindi determina la directory di destinazione del componente dalla tabella Directory. Verifica quindi quale di questi componenti installa nella stessa directory di destinazione. Infine, usa la tabella File per verificare che nessuno dei file in questi componenti abbia lo stesso nome.
ICE30 controlla entrambi i nomi di file lunghi (LFN) e i nomi di file brevi (SFN).
ICE30 non valuta le proprietà nella risoluzione delle directory perché queste proprietà possono cambiare in fase di esecuzione e modificare lo schema di risoluzione della directory. Ciò significa che ICE30 può rilevare collisioni di file a causa delle directory con la stessa proprietà nei percorsi, ma non rileva le collisioni risultanti da due proprietà con lo stesso valore.
ICE30 pubblica un messaggio di errore per ogni coppia di componenti che installa lo stesso file nella stessa directory.
L'esempio illustrato restituisce ogni errore seguente due volte.
Errore o avviso ICE30 | Descrizione |
---|---|
ERRORE: il file di destinazione 'README.1st' viene installato in 'TARGETDIR\PRODUCT' da due componenti diversi in un sistema SFN: 'Component1' e 'Component2'. Conteggio dei riferimenti ai componenti di interruzione. | Component1 e Component2 hanno entrambi un file denominato 'READEME.1st'. Quando si usano nomi di file brevi, il programma di installazione installa Sia Dir1 che Dir2 nella stessa directory, TARGETDIR\PRODUCT. ICE30 genera due errori, uno per ogni file. In un ambiente di creazione che visualizza i percorsi di errore, il primo errore si trova nella voce di un file nella tabella file e il secondo nel percorso dell'altro file. |
ERRORE: l'installazione di un componente condizionale causerebbe l'installazione del file di destinazione 'README.1st' in 'TARGETDIR\COMMON TOOLS' di due componenti diversi in un sistema LFN: 'Component3' e 'Component4'. Il conteggio dei riferimenti ai componenti verrà interrotto. | Component4 include una voce nella colonna Condizione della tabella Component e Component3 non. Se VersionNT è True, Component4 viene installato e si verifica una collisione con Readme.1st sempre installato da Component3. ICE30 genera 4 errori, una coppia per SFN, una per LFN. |
AVVISO: il file di destinazione 'README.1st' potrebbe essere installato in 'TARGETDIR\COMMON TOOLS' da due componenti condizionali diversi in un sistema SFN: 'Component4' e 'Component5'. Se le condizioni non si escludono a vicenda, il sistema di conteggio dei riferimenti del componente verrà interrotto. | Poiché i componenti4 e Component5 dispongono di voci nella colonna Condizione della tabella Componente , questa collisione di file potrebbe non verificarsi. ICE30 invia solo un avviso perché le condizioni devono essere determinate al momento dell'installazione. ICE30 genera 4 avvisi, una coppia per SFN, una per LFN. |
Tabella componente (parziale)
Componente | Directory | Condizione |
---|---|---|
Componente1 | Dir1 | |
Componente2 | Dir2 | |
Componente3 | Dir3 | |
Componente4 | Dir3 | VersionNT |
Componente5 | Dir3 | Versione9X |
Directory | Parent_Directory | DefaultDir |
---|---|---|
SOURCEDIR | TARGETDIR | |
Dir1 | SOURCEDIR | Prodotto | Componente1 Product:. |
Dir2 | SOURCEDIR | Prodotto:. |
Dir3 | SOURCEDIR | Common| Strumenti comuni: |
Tabella file (parziale)
File | Componente_ | FileName |
---|---|---|
File1 | Componente1 | README.1st |
File2 | Componente2 | README.1st |
File3 | Componente3 | README.1st |
File4 | Componente4 | README.1st |
File5 | Componente5 | README.1st |