Uso de la tabla Directory

La tabla Directory especifica el diseño de una instalación. Cuando los directorios se resuelven durante la acción CostFinalize, las claves de la tabla Directory se convierten en propiedades establecidas en rutas de acceso de directorio. Tenga en cuenta que el instalador establece una serie de propiedades estándar en las rutas de acceso de carpetas del sistema. Consulte la referencia sobre propiedades para obtener una lista de las propiedades que se establecen en las carpetas del sistema.

La mejor manera de especificar la ubicación de destino de un directorio es crear la tabla Directory en el paquete de instalación para proporcionar la ubicación correcta, tal como se describe en esta sección. Si es necesario cambiar la ubicación del directorio en el momento de la instalación, consulte también la sección: Cambio de la ubicación de destino de un directorio.

A continuación se muestra un ejemplo de una tabla Directory.

Directorio Directory_Parent DefaultDir
TARGETDIR SourceDir
EXEDIR TARGETDIR Aplicación
DLLDIR EXEDIR Discretización
DesktopFolder TARGETDIR Escritorio

 

Cada fila de la tabla Directory indica un directorio en el origen y en el destino. Por ejemplo, suponga que el paquete de instalación reside en \\applications\source\. Dado que el campo Directory_Parent de la primera fila es null, este registro indica los directorios raíz del origen y el destino. Para el origen, el valor de este directorio lo da el campo DefaultDir. La propiedad SourceDir tiene como valor predeterminado la ubicación del paquete de instalación. Por lo tanto, a menos que se invalide la propiedad SourceDir, el directorio de origen raíz es \\applications\source\.

El campo Directory del primer registro indica la ubicación del directorio de destino raíz. En este caso, el valor de la propiedad TARGETDIR indica este directorio. Normalmente, el valor de la propiedad TARGETDIR se establece en la línea de comandos o a través de una interfaz de usuario. En este caso, suponga que la propiedad TARGETDIR está establecida en C:\Archivos de programa\Target\.

Para el segundo registro, el campo Directory_Parent no es null. Por lo tanto, este registro indica un directorio no raíz para el origen y el destino. Para un directorio de origen no raíz, el directorio de origen indicado por el registro descrito en el campo Directory_Parent es el directorio primario. Para el segundo registro, el campo Directory_Parent es TARGETDIR. Como se ha mostrado anteriormente, el directorio de origen indicado por el registro TARGETDIR se ha resuelto en \\applications\source\. Por lo tanto, el directorio de origen indicado por el segundo registro es \\applications\source\App\.

Un proceso similar funciona para el directorio de destino. El valor del directorio primario del directorio de destino descrito en el segundo registro es el directorio de destino resuelto por el campo Directory_Parent. De nuevo, el campo Directory_Parent contiene el valor TARGETDIR. Esto indica el primer registro que se resuelve en un directorio de destino de C:\Archivos de programa\Target\. El campo Directory contiene una propiedad definida por el autor denominada EXEDIR. Si se establece esta propiedad, su valor proporciona la ruta de acceso completa del directorio. Por lo tanto, si esta propiedad se establece en C:\Data\Common\, el valor del directorio de destino indicado por el segundo registro es C:\Data\Common\. Si no se establece, el directorio de destino toma el nombre proporcionado por el campo DefaultDir. En este caso, el directorio de destino es C:\Archivos de programa\Target\App\.

El mismo proceso funciona para el tercer registro. Si no se establecen EXEDIR y DLLDIR, el directorio de destino es C:\Archivos de programa\Target\App\Bin y el directorio de origen \\applications\source\App\Bin\.

El cuarto registro usa la propiedad DesktopFolder. Si la ubicación del escritorio del usuario es C:\Winnt\Profiles\User\Desktop\, el directorio de destino se resuelve en C:\Winnt\Profiles\User\Desktop\. El directorio de origen se resuelve en \\applications\source\Desktop\.

Hay dos características de sintaxis adicionales que se pueden usar en la columna DefaultDir de la tabla Directory. En el caso de un directorio de origen no raíz, un punto (.) especificado en la columna DefaultDir indica que el directorio debe encontrarse en su directorio primario sin ningún subdirectorio. Para especificar diferentes rutas de acceso de directorio de origen y de destino, separe las rutas de acceso de destino y de origen de la columna DefaultDir con dos puntos como se indica a continuación: [targetpath]:[sourcepath]. Estas características se pueden usar juntas para agregar niveles a las rutas de acceso de origen o de destino de un único directorio. Consulte el siguiente ejemplo de una tabla Directory.

Directorio Directory_Parent DefaultDir
TARGETDIR SourceDir
MyAppDir TARGETDIR MyApp
BinDir MyAppDir Discretización
Binx86Dir BinDir .:x86
BinAlphaDir BinDir .:Alpha

 

Las rutas de acceso de origen y de destino se resuelven para las filas MyAppDir, BinDir, Binx86Dir y BinAlphaDir de la siguiente manera.

Registro Rutas de acceso de destino Rutas de acceso de origen
MyAppDir: [TARGETDIR]MyApp [SourceDir]MyApp
BinDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin
Binx86Dir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin\x86
BinAlphaDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin\Alpha

 

Nota:

La plataforma Alpha no es compatible con Windows Installer.