Tabla de archivos

La tabla File contiene una lista completa de archivos de origen con sus diversos atributos ordenados por un identificador no localizado único. Los archivos se pueden almacenar en el medio de origen como archivos individuales o comprimidos en un archivo .cab. Para obtener más información, vea Uso de archivos .cab y orígenes comprimidos.

La tabla File tiene las columnas siguientes.

Columna Tipo Clave Nullable
Archivo Identificador Y No
Component_ Identificador No No
FileName Nombre de archivo No No
FileSize DoubleInteger No No
Versión Versión No Y
Idioma Lenguaje No Y
Atributos Entero No Y
Secuencia Entero No No

 

Columnas

File

Token no localizado que identifica al archivo de forma única. En este campo no se distinguen mayúsculas de minúsculas. No asigne identificadores a archivos distintos que solo tengan mayúsculas/minúsculas diferentes.

Component_

Clave externa de la primera columna de la tabla Component. Este campo señala el componente que controla el archivo.

FileName

Nombre de archivo usado en la instalación. El nombre puede estar localizado.

Dado que algunos servidores web pueden distinguir mayúsculas de minúsculas, FileName debe coincidir exactamente con las mayúsculas/minúsculas de los archivos de origen para, así, garantizar una correcta compatibilidad con las descargas de Internet.

FileSize

El tamaño del archivo en bytes. Debe ser un número no negativo.

Version

Este campo es la cadena de versión de un archivo con versión. Este campo está en blanco en los archivos sin versión. La versión de archivo especificada en este campo debe ser idéntica a la versión de archivo incluida en el paquete de instalación.

El campo Version también se puede establecer para que contenga la clave principal de otro registro en la tabla File. El archivo al que se hace referencia determina la lógica de control de versiones de dicho archivo. Para obtener más información, vea Archivo complementario. Observe que si este archivo es la ruta de acceso clave de su componente correspondiente, no debe especificarse como un archivo complementario.

Language

Lista de identificadores de idioma decimales separados por comas.

Los archivos de fuente no deben crearse con un identificador de idioma, ya que las fuentes no tienen un recurso de identificador de idioma insertado. Por lo tanto, esta columna debe dejarse como NULL en los archivos de fuente.

Attributes

Entero que contiene marcas de bits que representan atributos de archivo.

En la siguiente tabla se muestra la definición del campo de bits.

Constante Hexadecimal Decimal Descripción
msidbFileAttributesReadOnly 0x000001 1 Solo lectura
msidbFileAttributesHidden 0x000002 2 Hidden
msidbFileAttributesSystem 0x000004 4 Sistema
msidbFileAttributesVital 0x000200 512 El archivo es fundamental para un funcionamiento preciso del componente al que pertenece. Si se produce un error en la instalación de un archivo con el atributo msidbFileAttributesVital, la instalación se detiene y se revierte. En este caso, el instalador abre un cuadro de diálogo sin un botón Omitir. Si este atributo no se establece y se produce un error en la instalación del archivo, el instalador abre un cuadro de diálogo con un botón Omitir. En este caso, el usuario puede decidir omitir el error de instalación del archivo y continuar.
msidbFileAttributesChecksum 0x000400 1024 El archivo contiene una suma de comprobación válida. Se requiere una suma de comprobación para reparar un archivo que se ha dañado.
msidbFileAttributesPatchAdded 0x001000 4096 Este bit solo lo debe agregar una revisión si el archivo lo va a agregar la revisión.
msidbFileAttributesNoncompressed 0x002000 8192 El tipo de origen del archivo es descomprimido. Si se establece, omita la propiedad Word Count Summary. Si no se establece ni msidbFileAttributesNoncompressed ni msidbFileAttributesCompressed, el estado de compresión del archivo se especifica mediante la propiedad Word Count Summary. No establezca msidbFileAttributesNoncompressed y msidbFileAttributesCompressed a la vez.
msidbFileAttributesCompressed 0x004000 16384 El tipo de origen del archivo es comprimido. Si se establece, omita la propiedad Word Count Summary. Si no se establece ni msidbFileAttributesNoncompressed ni msidbFileAttributesCompressed, el estado de compresión del archivo se especifica mediante la propiedad Word Count Summary. No establezca msidbFileAttributesNoncompressed y msidbFileAttributesCompressed a la vez.

 

Si se establece el bit msidbFileAttributesVital dentro de la columna Attributes y el componente al que el archivo pertenece está seleccionado para su instalación, el instalador debe poder instalar este archivo para que la instalación se complete correctamente. Si el instalador no puede instalar el archivo por algún motivo (por ejemplo, porque el archivo de origen no se encuentre en la imagen de origen), aparecerá un cuadro de diálogo de error con las opciones "Reintentar" o "Cancelar". Si se trata de un archivo que no tiene msidbFileAttributesVital establecido, las opciones en caso de error de instalación serán "Anular", "Reintentar" y "Omitir" (es decir, el usuario tendrá la opción de completar la instalación correctamente sin instalar ese archivo).

El bit msidbFileAttributesChecksum de la columna Attributes debe establecerse por cada archivo ejecutable de la instalación que tenga una suma de comprobación válida almacenada en el encabezado de archivo portable ejecutable (PE). Solo se comprobarán aquellos archivos que tengan este bit establecido para confirmar que hay una suma de comprobación válida durante una reinstalación. Para obtener más información, vea REINSTALLMODE.

Sequence

Posición de este archivo en la secuencia de imágenes de medios. Este orden debe corresponderse con el orden de los archivos en el archivo .cab si los archivos están comprimidos. Los enteros de este campo deben ser iguales o mayores que 1.

Los números de secuencia de la columna Sequence sirven para especificar el orden de instalación de los archivos y el medio de origen en el que se encuentra el archivo (junto con la tabla Media). Por ejemplo, supongamos que un archivo tiene un número de secuencia 92. Para determinar el disco de origen en el que este archivo reside, busque en la tabla Media la entrada con el valor Last Sequence más pequeño que sea superior a 92.

Aunque a los archivos comprimidos se les asignan números de secuencia internos en de los archivos .cab, esos números absolutos no tienen por qué coincidir con los números de secuencia de la tabla File. Sin embargo, es importante que la secuencia de archivos de la tabla File sea idéntica a la secuencia de archivos de los archivos .cab.

En el caso de los archivos que no están comprimidos, los números de secuencia no deben ser únicos. Por ejemplo, si todos los archivos están sin comprimir y todos residen en un disco, se podría asignar a todos esos archivos el mismo número de secuencia.

El límite máximo es de 32 767 archivos. Para crear un paquete de Windows Installer con más archivos, vea Creación de un paquete grande.

Observaciones

Las acciones InstallFiles y RemoveFiles de las tablas de secuencia procesan la información en estas tablas. Para obtener más información sobre el uso de tablas de secuencia, vea Uso de una tabla de secuencia.

La tabla se genera en principio a partir de la lista de archivos, pero si se usa la compresión de archivo .cab, la tabla se vuelve a generar a partir de la salida del motor de compresión. Para obtener más información, vea Archivos .cab.

Para mover un archivo existente en el equipo del usuario durante la instalación, use la acción MoveFiles y la tabla MoveFile. Para instalar un archivo en varias ubicaciones, use la acción DuplicateFiles y la tabla DuplicateFile.

En la siguiente tabla se sintetizan las posibles combinaciones de valores de las columnas Version y Language. Para obtener más información, vea Reglas de control de versiones de archivos.

Versión Idioma Descripción
1.2.3.4 1033 La versión y el idioma.
1.2.3.4 (NULL) La versión, pero sin el idioma.
1.2.3.4 0 La versión y el idioma son neutros.
Testdb (NULL) Archivo complementario sin ningún idioma asociado.
Testdb 1033 El archivo complementario y el idioma.
(NULL) 1033 Sin versión, pero tiene un idioma asociado (es decir, typelib, helpfile).

 

Para obtener más información, vea las tablas MsiLockPermissionsEx y LockPermissions.

Validación

ICE02
ICE03
ICE04
ICE06
ICE18
ICE30
ICE32
ICE35
ICE39
ICE42
ICE45
ICE50
ICE51
ICE54
ICE55
ICE57
ICE59
ICE60
ICE67
ICE69
ICE76
ICE91