InstallFiles (acción)

La acción InstallFiles copia del directorio de origen al directorio de destino los archivos especificados en la tabla File.

Restricciones de secuenciación

La acción InstallFiles debe estar después de la acción InstallValidate y antes de cualquier acción dependiente del archivo.

Mensajes de ActionData

Campo Descripción de los datos de acción
[1] Identificador del archivo instalado.
[6] Tamaño del archivo instalado en bytes.
[9] Identificador del directorio que contiene el archivo instalado.

 

Observaciones

La acción InstallFiles funciona en los archivos especificados en la tabla File. Cada archivo se instala en función del estado de instalación del componente asociado en la tabla Component. Solo los archivos cuyos componentes se resuelven con el estado msiInstallStatelocal se pueden copiar.

La acción InstallFiles implementa las siguientes columnas de la tabla File.

  • La columna FileName especifica el nombre del archivo de destino.
  • La columna Version especifica la versión del archivo.
  • La columna Attributes especifica los bits de marca de atributo de instalación y archivo.
  • La columna File especifica el token de archivo único.
  • La columna FileSize especifica el tamaño del archivo sin comprimir en bytes.
  • La columna Language especifica el identificador de idioma del archivo.
  • La columna Sequence especifica el número de secuencia en el medio.

La acción InstallFiles implementa las siguientes columnas de la tabla Component.

  • La columna Directory_ especifica una referencia a un elemento de la tabla Directory.
  • La columna Component especifica un nombre único para el elemento de componente.

El archivo especificado se copia solamente si se da alguna de las siguientes condiciones:

  • El archivo no está instalado actualmente en el equipo local.
  • El archivo está en el equipo local, pero tiene un número de versión inferior al del archivo de la tabla File.
  • El archivo está en el equipo local, pero no hay ningún número de versión asociado.

El directorio de origen de cada archivo que se va a copiar viene determinado por sourceMode, que a su vez depende del valor de la columna Cabinet de la tabla Media. Para obtener una explicación completa del modo de origen, consulte Media (tabla).

Si el directorio de origen de un archivo que se va a copiar está en un medio extraíble, como un disquete o un CD-ROM, la acción InstallFiles comprueba que se inserta el medio de origen adecuado antes de intentar copiar el archivo. InstallFiles busca medios del mismo tipo extraíble con una etiqueta volume que coincida con el valor especificado en la columna VolumeLabel de la tabla Media. Si se encuentra un volumen montado coincidente, el proceso de copia de archivos continúa. Si no se encuentra ninguna coincidencia, un cuadro de diálogo solicita al usuario que inserte el medio adecuado. En este caso, el cuadro de diálogo usa el nombre del medio que se encuentra en la columna DiskPrompt de la tabla Media como parte del mensaje.

Se debe tener cuidado, porque la acción InstallFiles puede eliminar un archivo original y no reemplazarlo. Esto ocurre cuando la acción InstallFiles experimenta un error al reemplazar un archivo anterior y el usuario decide ignorar el error. El comportamiento predeterminado del instalador es eliminar un archivo antiguo antes de asegurarse de que el archivo nuevo se copia correctamente.

Para conocer las reglas de control de versiones de archivos que usa el instalador, consulte Reglas de control de versiones de archivos.