ICE30
ICE30 comprueba que la instalación de componentes que contienen el mismo archivo nunca instale el archivo más de una vez en el mismo directorio.
ICE30 va a todos los componentes de la tabla Component y, a continuación, determina el directorio de destino del componente de la tabla Directory. A continuación, comprueba cuál de estos componentes se instala en el mismo directorio de destino. Por último, usa la tabla File para comprobar que ninguno de los archivos de estos componentes tiene el mismo nombre.
ICE30 comprueba los nombres de archivo largos (LFN) y los nombres de archivo cortos (SFN).
ICE30 no evalúa las propiedades en la resolución de directorios porque estas propiedades pueden cambiar en tiempo de ejecución y modificar el esquema de resolución de directorios. Esto significa que ICE30 puede detectar conflictos de archivos debido a directorios con la misma propiedad en sus rutas de acceso, pero no detecta los conflictos resultantes de dos propiedades que tienen el mismo valor.
ICE30 publica un mensaje de error para cada par de componentes que instala el mismo archivo en el mismo directorio.
El ejemplo que se muestra devuelve cada uno de los siguientes errores dos veces.
Error o advertencia de ICE30 | Descripción |
---|---|
ERROR: El archivo de destino "README.1st" se instala en "TARGETDIR\PRODUCT" por dos componentes diferentes en un sistema SFN: "Component1" y "Component2". Esto interrumpe el recuento de referencias de componentes. | Component1 y Component2 tienen un archivo denominado "READEME.1st". Al usar nombres de archivo cortos, el instalador instala Dir1 y Dir2 en el mismo directorio, TARGETDIR\PRODUCT. ICE30 genera dos errores, uno para cada archivo. En un entorno de creación que muestra las ubicaciones de error, el primer error se encuentra en la entrada de un archivo de la tabla File y el segundo en la ubicación del otro archivo. |
ERROR: La instalación de un componente condicionalizado provocaría que el archivo de destino "README.1st" se instalara en "TARGETDIR\COMMON TOOLS" por dos componentes diferentes en un sistema LFN: "Component3" y "Component4". Esto interrumpirá el recuento de referencias de componentes. | Component4 tiene una entrada en la columna Condition de la tabla Component y Component3 no la tiene. Si VersionNT es True, se instala Component4 y hay un conflicto con el readme.1st que instala siempre Component3. ICE30 genera 4 errores, un par para SFN, otro para LFN. |
ADVERTENCIA: El archivo de destino "README.1st" podría instalarse en "TARGETDIR\COMMON TOOLS" por dos componentes condicionalizados diferentes en un sistema SFN: "Component4" y "Component5". Si las condiciones no son mutuamente excluyentes, se interrumpirá el sistema de recuento de referencias de componentes. | Dado que Component4 y Component5 tienen entradas en la columna Condition de la tabla Component, es posible que no se produzca este conflicto de archivos. ICE30 solo envía una advertencia porque las condiciones deben determinarse en el momento de la instalación. ICE30 genera 4 advertencias, un par para SFN, otro para LFN. |
Tabla Component (parcial)
Componente | Directorio | Condición |
---|---|---|
Component1 | Dir1 | |
Component2 | Dir2 | |
Component3 | Dir3 | |
Component4 | Dir3 | VersionNT |
Component5 | Dir3 | Version9X |
Directorio | Parent_Directory | DefaultDir |
---|---|---|
SOURCEDIR | TARGETDIR | |
Dir1 | SOURCEDIR | Product|Component1 Product:. |
Dir2 | SOURCEDIR | Product:. |
Dir3 | SOURCEDIR | Common|Common Tools: |
Tabla File (parcial)
Archivo | Component_ | FileName |
---|---|---|
Archivo1 | Component1 | README.1st |
Archivo2 | Component2 | README.1st |
File3 | Component3 | README.1st |
File4 | Component4 | README.1st |
File5 | Component5 | README.1st |