Directory Table

Windows Installer

Directory Table

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.

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

 

Columns

Directory

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.

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.

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. 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.

DefaultDir

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.

 

Remarks

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.

CreateFolder Table

For creating empty folders during an installation, see CreateFolder Table.

Using the Directory Table

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

Validation

ICE03
ICE06
ICE07
ICE30
ICE32
ICE38
ICE46
ICE48
ICE56
ICE57
ICE64
ICE88
ICE90
ICE91
ICE99

Send comments about this topic to Microsoft

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.