Windows Installer Folders - Role and Properties

The Windows Installer Folders are a subset of Windows Installer Properties. They cover folders like the Windows folder, Program Files, Temp, etc.

These folders are very useful for specifying paths on the target computer. Regular paths (like C:\ or C:\Program Files) don't make sense any more, as the Program Files folder may be on a different drive and have a different name on other computers. Instead you must use Windows Installer folders like [WindowsVolume] or [ProgramFilesFolder].

NoteThe values of the Windows Installer Folder properties always end with a path separator (the backslash character). On the other hand, the values of the user-defined folder properties are not guaranteed to end in a path separator until after the CostFinalize Standard Action has run. Therefore, make sure that you are not including a path separator explicitly in a path Formatted Type string if the directory property you are using already includes one.

In this case you would use:

[DirectoryProperty]subdir\file.txt

instead of:

[DirectoryProperty]\subdir\file.txt

For more details about Windows Installer folder properties see:

FAQs

What are some examples of Windows Installer Folders?

To name a few: APPDIR, TARGETDIR, DesktopFolder, WindowsVolume, etc.

At what point during the installation process Windows Installer will resolve the Windows Installer folders?

Windows Installer resolves these directories during the CostFinalize action. This phase accesses the Condition table to determine which features are planned for installation and is the one that ends the internal installation costing process.

Do I have to use a separator ("\") in my path, after the Windows Installer Folder?

This is not necessary if you intend to resolve the path after Cost Finalize action. System Folder Properties are guaranteed to end in a directory separator from the beginning of the installation. Other properties from the Directory table will contain the separator after Cost Finalize action.