Directory Table

[This is preliminary documentation and subject to change.]

The Directory table represents 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.

Column Type Key Nullable
Directory Identifier Y N
Directory_Parent Identifier Y
DefaultDir DefaultDir N

Columns

Directory
The Directory column contains an unique identifier for a directory or directory path. This column can contain the full path to a target directory or a property set to the full path of a target directory. If this column contains a property which is not set, then the target directory takes the name listed in the DefaultDir column and has the parent directory given in the Directory_Parent column.

If the Directory_Parent column is Null or equal to the value of the Directory column, then the Directory column represents a root target directory of the installation.

Directory_Parent
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. To resolve the full path of the parent directory, use the reference in the Directory_Parent column as 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.
DefaultDir
The DefaultDir column contains the directory's name 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 equal to the Directory column, then the DefaultDir column is the name of a root source directory.

For a non-root source directory, a period (.) entered in the DefaultDir column indicates that 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.

Remarks

Each record in the table represents a directory in both the source and the destination images. Every Directory table must have a root entry with a Directory column value equal to the TARGETDIR property.

During an ADMIN install the resulting admin image should resemble the source. To copy the admin image into the root directory named TARGETDIR, use the source directory names when resolving the target directories.

Directory resolution is performed during the CostFinalize action and is done as follows:

Root Destination Directories

Root directories entries are those with a Null Directory_Parent value or a Directory_Parent value identical to the Directory value. The value in the Directory column is interpreted as the name of a property defining the location of the destination directory. If the property is defined, the destination directory is resolved to the property's value. If the property is undefined, the ROOTDRIVE property is used instead to resolve the path.

Root Source Directories

The value of the DefaultDir column for root entries is interpreted as the name of a property defining the source location of this directory This property must be defined or an error occurs. This is typically 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.

For more information about the Directory table, including samples, see Using the Directory Table.