MSI Factory

Global Build Variables

MSI Factory contains a number of built-in global build variables that are expanded at the pre-processor stage, just as the user-defined ones are. These variables can be typed directly into most edit fields, or can be inserted in the project by right-clicking on the field and choosing Insert > Build Variable from the context menu.

Below is a list of the build variables available in MSI Factory:

ApplicationDataFolder

The Application Data folder on your development system. Usually this will be something like: "C:\Documents and Settings\UserName\Application Data". You can use it in an edit field using: $(var.ApplicationDataFolder).

ApplicationDataFolderCommon

The common Application Data folder on your development system. Usually this will be something like: "C:\Documents and Settings\All Users\Application Data". You can use it in an edit field using: $(var.ApplicationDataFolderCommon).

CommonFilesFolder

The Common Files folder on your development system. Typically, this is something like: "C:\Program Files\Common Files" You can use it in an edit field using: $(var.CommonFilesFolder).

DesktopFolder

The Desktop folder on your development system. Typically, this is something like: "C:\Documents and Settings\UserName\Desktop" You can use it in an edit field using: $(var.DesktopFolder).

DesktopFolderCommon

The common Desktop folder on your development system. Typically, this is something like: "C:\Documents and Settings\UserName\Desktop" You can use it in an edit field using: $(var.DesktopFolder).

FontsFolder

The Windows Fonts folder on your development system. This is usually something like: "C:\WINDOWS\Fonts". You can use it in an edit field using: $(var.FontsFolder).

MyDocuments

The My Documents folder on your development system. Typically, this is something like: "C:\Documents and Settings\UserName\My Documents". You can use it in an edit field using: $(var.MyDocuments).

OutputFolder

Your current MSI Factory output folder, for example: "C:\My Documents\MSI Factory\Output". You can use it in an edit field using: $(var.OutputFolder).

ProjectFolder

The path to the folder where the .msifact file is located, for example: "C:\My Documents\MSI Factory\Projects". You can use it in an edit field using: $(var.ProjectFolder).

ProgramFilesFolder

The Program Files folder on your development system. Typically, this is something like: "C:\Program Files" You can use it in an edit field using: $(var.ProgramFilesFolder).

MSIFactoryFolder

The path to the directory where MSI Factory is installed on your development system. Usually this will be "C:\Program Files\MSI Factory". You can use it in an edit field using: $(var.MSIFactoryFolder).

MSIFactoryDrive

The drive where MSI Factory is installed on your development system. For example, "C:". You can use it in an edit field using: $(var.MSIFactoryDrive).

StartFolder

The Start menu folder on your development system. This is usually something like: "C:\Documents and Settings\UserName\Start Menu". You can use it in an edit field using: $(var.StartFolder).

StartFolderCommon

The all users Start menu folder on your development system. You can use it in an edit field using: $(var.StartFolderCommon).

StartProgramsFolder

The Programs folder in the Start menu on your development system. For example: "C:\Documents and Settings\UserName\Start Menu\Programs". You can use it in an edit field using: $(var.StartProgramsFolder).

StartProgramsFolderCommon

The all users profile Programs folder in the Start menu on your development system. You can use it in an edit field using: $(var.StartProgramsFolderCommon).

StartupFolder

The Startup folder on your development system. For example: "C:\Documents and Settings\UserName\Start Menu\Programs\Startup". You can use it in an edit field using: $(var.StartupFolder).

StartupFolderCommon

The all users Startup folder on your development system. You can use it in an edit field using: $(var.StartupFolderCommon).

SystemDrive

The drive that the Windows System directory is located on your development system, such as "C:". You can use it in an edit field using: $(var.SystemDrive).

SystemFolder

The path to the Windows System folder on your development system. For example: "C:\WINDOWS\system32". You can use it in an edit field using: $(var.SystemFolder).

TempFolder

The path to your development system's temporary folder. You can use it in an edit field using: $(var.TempFolder).

UserProjectsFolder

Your current MSI Factory projects folder, for example: "C:\My Documents\MSI Factory\Projects". You can use it in an edit field using: $(var.UserProjectsFolder).

WindowsFolder

The path to the Windows folder on your development system. Typically this is something like: "C:\Windows". You can use it in an edit field using: $(var.WindowsFolder).

More Information

WiX Help File: Preprocessor