The Directory table specifies the directory layout for the product. Each row of the table indicates a directory both at the source and the target.
The Directory table has the following columns.
The Directory column contains a unique identifier for a directory or directory path. This column can contain the name of a property that is set to the full path of a target directory. If this column contains a property, the target directory takes the name specified in the DefaultDir column and takes the parent directory specified in the Directory_Parent column.
The source directory always takes the name specified in the DefaultDir column and takes the parent directory specified in the Directory_Parent column.
If the Directory_Parent column is either null or equal to the value of the Directory column, the Directory column represents a root target directory. Only one root directory may be specified in the Directory table.
This column is a reference to the directory's parent directory. A record that has a Directory_Parent column equal to null or equal to the Directory column represents a root directory. The full path of the parent directory is resolved by reference in the Directory_Parent column is an external key into the Directory column. For example, if a folder has a parent directory named PDIR, the parent directory of PDIR is given in the Directory_Parent column of the row with PDIR in the Directory column.
The DefaultDir column contains the directory's name (localizable)under the parent directory. By default, this is the name of both the target and source directories. To specify different source and target directory names, separate the target and source names with a colon as follows: [targetname]:[sourcename].
If the value of the Directory_Parent column is null or is equal to the Directory column, the DefaultDir column specifies the name of a root source directory.
For a non-root source directory, a period (.) entered in the DefaultDir column for the source directory name or the target directory name indicates the directory should be located in its parent directory without a subdirectory.
The directory names in this column may be formatted as short filename | long filename pairs.
Each record in the table represents a directory in both the source and the destination images. The Directory table must specify a single root directory with a Directory column value equal to the TARGETDIR property.
For an administrative installation, install the administrative image into the root directory named TARGETDIR and use the source directory names to resolve the target directories.
Note the installer sets a number of standard properties to system folder paths. See the Property Reference for a list of the properties that are set to system folders.
Directory resolution is performed during the CostFinalize action and is done as follows:
Root Destination Directory
There may only be a single root destination directory. To specify the root destination directory, set the Directory column to the TARGETDIR property and the DefaultDir column to the SourceDir property. If the TARGETDIR property is defined, the destination directory is resolved to the property's value. If the TARGETDIR property is undefined, the ROOTDRIVE property is used to resolve the path.
Root Source Directory
The value of the DefaultDir column for the root directory entry must be set to the SourceDir property.
Non-root Destination Directories
The Directory value for a non-root directory is also interpreted as the name of a property defining the location of the destination. If the property is defined, the destination directory is resolved to the property's value. If the property is not defined, the destination directory is resolved to a subdirectory beneath the resolved destination directory for the Directory_Parent entry. The DefaultDir value defines the name of the subdirectory.
Non-root Source Directories
The source directory for a non-root directory is resolved to a subdirectory of the resolved source directory for the Directory_Parent entry. Again, the DefaultDir value defines the name of the subdirectory.
Short or Long File Names
When resolving destination directories, the short file names specified in the DefaultDir column are used if either the SHORTFILENAMES property is set or the volume the directory is located on does not support long file names. Otherwise, the long file name is used.
Note that when the directories are resolved during the CostFinalize action, the keys in the Directory table become properties set to directory paths.
For creating empty folders during an installation, see CreateFolder Table.
For more information about the Directory table, including samples, see Using the Directory Table.