InstallShield 11
There are many properties that can be set during an installation. The following tables list most of them with their functions and, in many cases, the syntax needed to put these properties into action. Many of the properties can be set through the IDE, while others are initialized by the Windows Installer service at run time.

By default, Windows Installer writes the final value of every Windows Installer property contained in your project to a log file generated by launching MsiExec with the /L argument. Starting with Windows Installer version 2.0, you can prevent certain properties (such as those containing passwords) from being written to the log file by creating a property called MsiHiddenProperties in the Property Manager, setting its value to a semicolon-delimited list of property names.
Any of the properties that are with all-uppercase names can be set at the command line. Properties with all-uppercase names are called public properties. The following lists are organized according to the functions of the properties. Each table has a brief description of the kinds of properties it contains.
The following categories of Windows Installer properties are described in this topic. Click on a link to go directly to a category.

Do not confuse installer properties with path variables, which are surrounded by angle brackets (<>). While they both represent directories, you can use Windows Installer properties at run time, but path variables are used to point to source files only during setup design and at build time.
Special folder properties are those properties that define where files are stored or installed on the target system.
To use a folder property in your setup, enclose it in square brackets: []. For example, to install a component to a Bin folder under the default destination folder, enter [INSTALLDIR]Bin in the component's Destination Folder property.
| Property Name | Description |
|---|---|
| INSTALLDIR | This property contains the default destination folder for the files in your features and components. See Set the Default Product Destination Folder for more information. INSTALLDIR is available directly as a variable in your InstallScript code. |
| SETUPEXEDIR | This property stores the path to Setup.exe. For example, if the path to Setup.exe is C:\MySetups\MyApp\Setup.exe, the value of SETUPEXEDIR is C:\MySetups\MyApp. |
| SOURCEDIR | This property stores the folder where the running .msi file is located. |
| TARGETDIR | The TARGETDIR property is the location where the Windows Installer package is copied (and its data files uncompressed) during an Administrative installation. In an InstallScript MSI project, this value is represented by the InstallScript MSI_TARGETDIR variable. |
The following section provides information on feature installation properties, with which the end user can specify how features should be installed.
| Property Name | Description |
|---|---|
| ADDDEFAULT | The ADDDEFAULT property stores a list of features, separated by commas, that are to be installed in their default configuration. Users can install all features in their default configuration by setting the value of this property to ALL. |
| ADDLOCAL | This property stores a list of features, separated by commas, that are to be installed locally. Each feature has a Remote Installation property that determines whether features selected for installation are to be installed locally or run from the source medium. |
| ADDSOURCE | This property stores a list of features, separated by commas, that are to be run from the source medium. If this property is set to ALL, all the features will run from the source medium. |
| ADVERTISE | This property stores a list of features, separated by commas, that are to be advertised. |
| REINSTALL | This property stores a list of features, separated by commas, that are to be reinstalled. If REINSTALL is set to ALL, all of the features that are already installed on the user's system will be reinstalled. |
| REINSTALLMODE | This property contains a string of letters that specify the reinstall type. These options correspond to the values available for the Msiexec.exe /f command-line parameter. For more information on this property, see the REINSTALLMODE Property topic in the Windows Installer Help Library. REINSTALLMODE is always set in conjunction with REINSTALL. |
| ReinstallModeText | This property contains the reinstallation options that will be set when the user selects “Repair” in the MaintenanceType dialog. The value of ReinstallModeText is passed as an argument to the control event ReinstallMode, which accepts the same options that are available for the REINSTALLMODE property. ReinstallModeText is not a predefined Windows Installer property. Nonetheless, it is provided in the Property Manager for every new project, with a default value of omus, for use in the control event described above. |
| REMOVE | This property stores a list of features, separated by commas, that will be removed. If REMOVE is set to ALL, all features will be removed. |
| COMPADDLOCAL | This property stores a list of component IDs, separated by commas, that are to be installed locally. The feature for the component that takes up the least amount of disk space will be installed. |
| COMPADDSOURCE | This property stores a list of component IDs, separated by commas, that are to be run from the source medium. The feature for the component that takes up the least amount of disk space will be installed. |
| PATCH | When installing a patch, this property contains the full path to the patch package. |
The following section contains information on various other configurable properties.
| Property Name | Description | ||||||
|---|---|---|---|---|---|---|---|
| ACTION | This property specifies which sequence to perform (installation, advertisement, or administration). Possible values are INSTALL, ADVERTISE, and ADMIN. The ACTION property is automatically set based on the command line used to launch the installation. | ||||||
| ALLUSERS | Specifies whether to perform a per-machine or per-user installation on Windows NT-based target systems. If this property is set to 2, the configuration data for the installation will be stored in the All Users profile if the user has administrative privileges, or otherwise to the current user's profile. If set to 1, configuration data will be written to the All Users profile if the user has administrative privileges, and if not the installation will display an error message and then exit. If this property is not set, that information will be stored in the user's personal profile. Certain registry entries are also determined by this property. This property is typically set with the Customer Information dialog box in Basic MSI projects, and with either the SdCustomerInformation or SdCustomerInformationEx dialog functions in InstallScript MSI projects. ![]() ALLUSERS has no effect on InstallScript variables like FOLDER_PROGRAMS. ALLUSERS has no effect until the Execute sequence runs. |
||||||
| ARPAUTHORIZEDCDFPREFIX | This property stores the URL for the update channel of the application. | ||||||
| ARPCOMMENTS | This property contains the comments about this product that are displayed in the Add/Remove Programs applet of the Control Panel. This value is set in the Add/Remove Programs Comments property. You should provide a string table entry to facilitate globalizing your setup. |
||||||
| ARPCONTACT | This property contains support contact information, such as an email address or a telephone number. This value is set in the Add/Remove Programs Support Contact property. You should provide a string table entry to facilitate globalizing your setup. |
||||||
| ARPINSTALLLOCATION | This property stores the fully qualified path to the application's primary folder. You can set ARPINSTALLLOCATION to the value of INSTALLDIR with a custom action of type “Set a property”. | ||||||
| ARPNOREPAIR | If this property is set to 1, no Repair button will be displayed in the Programs Wizard. | ||||||
| ARPREADME | Holds the fully qualified path or the URL for the product's Readme file. This value is set in the Add/Remove Programs Read Me property. You should provide a string table entry to facilitate globalizing your setup. |
||||||
| ARPSIZE | This property stores the estimated size, in kilobytes, of the application. | ||||||
| ARPSYSTEMCOMPONENT | Set this property to 1 to keep your program from appearing in the user's Add/Remove Programs panel. | ||||||
| ARPURLINFOABOUT | This property stores the URL for the application's home page or the publisher's home page. This value is set in the Add/Remove Programs Publisher/Product URL property. You should provide a string table entry to facilitate globalizing your setup. |
||||||
| ARPURLUPDATEINFO | This property stores the URL for update information on your application. This value is set in the Add/Remove Programs Read Me property. You should provide a string table entry to facilitate globalizing your setup. |
||||||
| ARPNOMODIFY | Setting this property disables Add/Remove Programs and Programs Wizard functionality that would, by default, allow the product to be modified. | ||||||
| ARPNOREMOVE | Setting this property disables the Add/Remove Programs and Programs Wizard functionality that allows the product to be removed. | ||||||
| AVAILABLEFREEREG | This property allows you to set the amount of additional free registry space, in kilobytes, required by your application. | ||||||
| CCP_DRIVE | This property holds the root path on the installation disk for any of the qualifying products for a competitive upgrade. | ||||||
| DISABLEADVTSHORTCUTS | Setting this property disables the creation of advertised shortcuts. | ||||||
| DISABLEMEDIA | This setting prevents the installer from adding media information to the source list. | ||||||
| DISABLEROLLBACK | Set this property to 1 to stop the installer from creating a rollback script that will save copies of changed or deleted files during the installation process. | ||||||
| EXECUTEACTION | This property sets the top-level action initiated by the ExecuteAction action. | ||||||
| EXECUTEMODE | This property sets the mode of execution performed by the installer. The value None means that no changes are made to the system. The default value, Script, means that all changes made to the system are run through a script execution. | ||||||
| INSTALLLEVEL | This property holds a value that corresponds to the values of the features. If the level of features to be installed is less than or equal to the INSTALLLEVEL property, then a feature is installed. This is primarily used for different setup types, such as Typical or Custom. | ||||||
| LOGACTION | List of action names, separated by semicolons, that will be logged. | ||||||
| Privileged | This property will run an installation with elevated privileges if the user is an administrator or if the application is an administrator-assigned application. | ||||||
| PROMPTROLLBACKCOST | This property specifies what will happen if there is insufficient disk space to continue the installation. Depending on the user interface level, the rollback could happen automatically, without any input from the user, or it could ask the user to continue with rollback disabled. | ||||||
| PRIMARYFOLDER | The folder that you specify with this property will be the “primary” folder for the installation. The path to this folder will be used to determine the values for the PrimaryVolumePath property, the PrimaryVolumeSpaceAvailable property, the PrimaryVolumeSpaceRequired property, and the PrimaryVolumeSpaceRemaining property. | ||||||
| REBOOT | This property allows you to force or suppress a reboot after the installation completes. Possible values are:
|
||||||
| ROOTDRIVE | In Administration mode this property sets the default drive to the first writable network drive found. In all other modes, this property sets the default drive to the writable local drive with the most disk space available. | ||||||
| SCRIPTFILE | This property defines the location of the script file that contains all operations executed during the installation. | ||||||
| SEQUENCE | This property specifies an .msi database table that lists the order in which the actions in the table will run. | ||||||
| SHORTFILENAMES | In Administration mode, this property may be set to ensure that only short file names are used. | ||||||
| TRANSFORMS | This property stores a list of transforms to be applied to an MSI database. These transforms can be set only in Installation and Advertisement mode. The syntax for this property, if you are applying a transform to two tables, is as follows: c:\transforms\trans1;:trans2. Note that transforms are applied in the order that they appear in the string. | ||||||
| TRANSFORMSATSOURCE | By setting this property to 1, you are specifying the installer to look for the transforms at the installation source. | ||||||
| LIMITUI | Setting this property limits the user interface level at basic. This is useful if you do not create a custom user interface to interact with the installer's built-in UI. | ||||||
| DefaultUIFont | This property should be set to one of the predefined styles found in the TextStyle table in order to specify your default font. If this property is not set, the installer will use the system font, which may disrupt your formatting. |
The following section contains information about input taken from the end user. Such input can include the end user's name, company, or language.
| Property Name | Description |
|---|---|
| AdminProperties | AdminProperties holds a list of properties set during an administration installation. These properties can be external (user name) or they can be internal (other properties on this page). |
| COMPANYNAME | This property stores the organization name for the end user performing the installation. This information is taken from the Customer Information dialog box (for Basic MSI projects), or from the SdCustomerInformation or SdCustomerInformationEx dialogs (for InstallScript MSI projects). |
| UserLanguageID | This property retains the default language identifier for the end user. |
| USERNAME | This property stores the name of the end user performing the installation, which is taken from the Customer Information dialog (for Basic MSI projects), or from the SdCustomerInformation or SdCustomerInformationEx dialogs (for InstallScript MSI projects). |
| ProductLanguage | This property stores the numeric language ID for the product. |
Information on product-specific properties that can be set in the Property table is listed below. Examples of these types of properties include technical support numbers, product name, and serial number.
| Property Name | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| ARPHELPLINK | This property retains the Internet address for technical support. This value is set in the Add/Remove Programs Support URL property. You should provide a string table entry to facilitate globalizing your setup. |
||||||||
| ARPHELPTELEPHONE | This property retains your technical support telephone numbers. This value is set in the Add/Remove Programs Support Phone Number property. You should provide a string table entry to facilitate globalizing your setup. |
||||||||
| ProductCode | The ProductCode is the GUID for this particular version of the product. This ID must be different for different language versions and different release versions. This property is set in the General Information view under Product Properties. | ||||||||
| ProductName | This property stores the name of the product—for example, InstallShield. This property is set in the General Information view under Product Properties. | ||||||||
| ProductState | The installer sets this property to the installed state of the product. This property can hold one of four numeric values:
|
||||||||
| ProductVersion | The ProductVersion property stores the major, minor, and build version numbers in the format AA.BB.CCCC. This property is set in the General Information view under Product Properties. | ||||||||
| Manufacturer | Stores the name of the product manufacturer. This value is set in the Add/Remove Programs Publisher property. You should provide a string table entry to facilitate globalizing your setup. |
||||||||
| DiskPrompt | This property holds a string which is displayed by a message box prompting for a disk. You should also include empty text for additional information printed on the disk label, as in “Disk 1”. | ||||||||
| DiskSerial | The DiskSerial property should be set to the internal serial number for this release. | ||||||||
| ComponentDownload | This property retains the URL for downloading a product by its string identifier (GUID). | ||||||||
| LeftUnit | This property places units to the left of the number. This is necessary for languages that require this structure. | ||||||||
| UpgradeCode | This is a GUID used to search for a related set of products that are already installed. | ||||||||
| IsAdminPackage | This property is set to 1 if the current installation package was created through an administrative installation. You can use this property to detect post-administrative installations. |
The following properties hold the fully qualified path to many of the folders on the end user's system. Many of these properties can be used directly in your script, without having to call MsiGetProperty.
| Property Name | Description |
|---|---|
| AppDataFolder | This property holds the full path to the current user's Application Data folder. |
| CommonAppDataFolder | This property holds the full path to the All Users Application Data folder. |
| CommonFilesFolder | The value of this property is the full path to the 32-bit Common Files folder. |
| CommonFiles64Folder | The value of this property is the full path to the 64-bit Common Files folder. This property requires Windows Installer version 2.0. |
| DesktopFolder | This property is used to hold the full path to the Desktop folder for the current user. If the setup is being run under Windows NT or Windows 2000 or later for All Users, and the ALLUSERS property is set, then the DesktopFolder property should hold the full path to the All Users desktop folder. |
| FavoritesFolder | The FavoritesFolder property retains the full path to the Favorites folder for the current user. |
| FontsFolder | This property holds the full path to the Fonts folder. |
| PersonalFolder | This property holds the full path to the current user's Personal folder. |
| ProgramFilesFolder | This property holds the full path to the current user's Program Files folder. |
| ProgramFiles64Folder | This property holds the full path to the current user's 64-bit Program Files folder. This property requires Windows Installer version 2.0. |
| ProgramMenuFolder | This property is used to hold the full path to the Program menu for the current user. If the setup is being run under Windows NT or Windows 2000 or later for All Users, and the ALLUSERS property is set, then the ProgramMenuFolder property should hold the full path to the All Users Programs menu. |
| SendToFolder | This property holds the full path to the current user's SendTo folder. |
| StartMenuFolder | This property is used to hold the full path to the Start menu folder for the current user. If the setup is being run under Windows NT or Windows 2000 or later for All Users, and the ALLUSERS property is set, then the StartMenuFolder property should hold the full path to the All Users Start Menu folder. |
| StartupFolder | This property is used to hold the full path to the Startup folder for the current user. If the setup is being run under Windows NT or Windows 2000 or later for All Users, and the ALLUSERS property is set, then the StartupFolder property should hold the full path to the All Users Startup menu. |
| SystemFolder | This property holds the full path to the 32-bit System folder. |
| System64Folder | This property holds the full path to the 64-bit System folder. This property requires Windows Installer version 2.0. |
| TempFolder | This property holds the full path to the Temp folder. |
| TemplateFolder | This property holds the full path to the current user's Template folder. |
| WindowsFolder | This property holds the full path to the user's Windows folder. |
| WindowsVolume | This property is set to the drive where Windows is installed. |
The following properties are set by the installer at run time. They refer to environment variables on the target system.
| Property Name | Description |
|---|---|
| AdminUser | This property is set by the installer at installation and is only set on Windows NT or Windows 2000 or later if the user has administrative privileges. AdminUser is always set on Windows 9x. |
| ComputerName | This property stores the name of the computer that the installation is running on. It is set by a call to the Windows API GetComputerName at the initialization of the installer. |
| LogonUser | This property stores the name of the user performing the installation. It is set by a call to the Windows API GetUserName. |
| OLEAdvtSupport | This property is set by the installer during initialization if the target system supports install-on-demand through COM (supported by Windows 2000 and later). |
| ServicePackLevel | If an operating system service pack is installed, this property stores the numeric value for that update. |
| SharedWindows | This property is set when Shared Windows is being used on the target system. |
| ShellAdvtSupport | This property is set by the installer during initialization if the target system supports feature advertisement. This property is automatically set on Windows 98 or later, or on earlier systems if Internet Explorer 4.01 is installed. |
| SystemLanguageID | This property stores the default language identifier for the target system. The value is defined by the installer by calling GetSystemDefaultLangID at initialization. |
| TerminalServer | This property is set by the installer at initialization if the target system is a server with Windows Terminal Server. |
| TTCSupport | This property is set by the installer at initialization if the target system supports true type font collections (TTC). The following systems support TTC: Windows 2000 or later, JPN - 932, Taiwan - 950, China - 936, Korea - 949, Hong Kong - 950. |
| Version9X | This property stores the version number of Windows 95 and 98 operating systems as an integer. The following forumla is used to determine this integer: (MajorVersion * 100) + MinorVersion. On Windows 95, Version9X is set to 400, on Windows 98 it is set to 410, and on Windows Millennium Edition it is set to 490. Version9X is not set on Windows NT-based systems. |
| VersionDatabase | This property stores a version number of the database used during the installation. |
| VersionNT | This property stores the version number of Windows NT-based operating systems as an integer. The following formula is used to determine this integer: (MajorVersion * 100) + MinorVersion. Refer to the Windows Installer Help Library to learn the VersionNT property for a specific operating system. |
| VersionNT64 | This property stores the version number of a Windows NT-based operating system as an integer on 64-bit systems only. The following formula is used to determine this integer: (MajorVersion * 100) + MinorVersion. This property requires Windows Installer version 2.0. |
| WindowsBuild | This property stores the build number for the operating system being run. |
| MsiNTProductType | This property stores the type of NT operating system being run on the target machine. This property requires Windows Installer version 2.0. |
| MsiNTSuiteBackOffice | On Windows 2000 and later, this property is set to 1 if Microsoft BackOffice components are installed. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiNTSuiteDataCenter | On Windows 2000 and later, this property is set to 1 if Windows 2000 Datacenter Server is installed. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiNTSuiteEnterprise | On Windows 2000 and later, this property is set to 1 if Windows 2000 Advanced Server is installed. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiNTSuiteEnterprise | On Windows 2000 and later, this property is set to 1 if Windows 2000 Advanced Server is installed. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiNTSuiteSmallBusiness | On Windows 2000 and later, this property is set to 1 if Microsoft Small Business Server is installed. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiNTSuiteSmallBusinessRestricted | On Windows 2000 and later, this property is set to 1 if Microsoft Small Business Server is installed with the restrictive client license. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiNTSuitePersonal | On Windows 2000 and later, this property is set to 1 if the operating system is Workstation Personal. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiNetAssemblySupport | This property is set if the operating system supports .NET Framework assemblies. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
| MsiWin32AssemblySupport | This property is set if the operating system supports Win32 assemblies. In all other cases this property is not set. This property requires Windows Installer version 2.0. |
The following properties are set by the installer at run time and store settings on certain hardware profiles for the end user's system.
| Property Name | Description |
|---|---|
| Alpha | This property stores the numeric value of the processor level, and it is only defined if the setup is running on an Alpha processor. (This property is supported only with Windows Installer version 1.0.) |
| BorderSide | This property sets the pixel width of the side window borders. |
| BorderTop | This property sets the pixel width of the top window border. |
| CaptionHeight | This property sets the pixel height of the caption area. |
| ColorBits | This property stores the number of adjacent color bits for each pixel (that is, the color depth of the user's monitor). For example, if the user's monitor is using 256 colors, ColorBits is set to 8. |
| Intel | This property stores the numeric value of the processor level, and it is defined only if the setup is running on an Intel 32-bit processor. |
| Intel64 | This property stores the numeric value of the processor level, and it is defined only if the setup is running on an Intel 64-bit processor. This property requires Windows Installer version 2.0. |
| PhysicalMemory | This property stores the installed amount of physical memory, in megabytes. |
| ScreenX | This property defines the width of the screen, in pixels. |
| ScreenY | This property defines the height of the screen, in pixels. |
| TextHeight | This property sets the height of text characters. |
| VirtualMemory | The amount of available page file space, in megabytes, is stored in this property. |
The following properties are set by the installer at run time. The values of these properties have to do with the status of the installation.
| Property Name | Description |
|---|---|
| AFTERREBOOT | This property is set to 1 by the installer after a reboot triggered by the ForceReboot action. |
| CostingComplete | This property is set to 1 as soon as costing has begun and is set to 0 when costing is complete. |
| RollbackDisabled | The installer sets the RollbackDisabled property whenever rollback has been disabled. This property is not set by default. |
| Installed | This property determines if the product is already installed. |
| OutOfDiskSpace | This property is set to True if any of the drives that are targets for the install do not have enough disk space. Otherwise, it is set to False. |
| OutOfNoRbDiskSpace | This property is set to True if any disk targeted during an installation does not have enough free disk space and if rollback capability is turned off. It is set to False if all of the target disks have sufficient space. |
| Preselected | This property determines if features have been preselected, and if so, does not display the selection dialog. |
| PrimaryVolumePath | The installer sets this property to the path specified in the PRIMARYFOLDER property. |
| PrimaryVolumeSpaceAvailable | This installer sets this property to a string representing the total number of bytes, in units of 512, available on the volume specified by the PRIMARYFOLDER property. |
| PrimaryVolumeSpaceRequired | This property stores a string representing the total amount of disk space required, in bytes (expressed in units of 512 bytes), by the currently selected features. |
| PrimaryVolumeSpaceRemaining | The installer sets this property to a string representing the number of remaining bytes available on the system, in units of 512, if all selected features were to be installed. |
| Resume | This property stores the text string displayed to the user when an installation is resumed from a suspended setup. |
| UpdateStarted | This property is set once changes to the system have taken place as a result of the installation process. |
| ReplacedInUseFiles | This property is set if a file that is currently in use is overwritten. Custom actions that check to see if a reboot is required will use this property. |
| NOUSERNAME | Setting this property to 1 stops the installer from setting the USERNAME property. By default, this property is not set and the USERNAME property is set from the registry. |
| NOCOMPANYNAME | Setting this property to 1 stops the installer from setting the COMPANYNAME property. By default, this property is not set and the COMPANYNAME property is set from the registry. |
| Property Name | Description |
|---|---|
| Date | This property holds the current date. |
| Time | This property holds the current time. |
These properties contain data related to the InstallScript engine.
| Property Name | Description |
|---|---|
| STANDARD_USE_SETUPEXE | InstallScript MSI projects must be run by launching Setup.exe. This localizable property holds the message displayed to an end user who launches your MSI database directly, instead of launching Setup.exe. (Applies to InstallScript MSI projects only.) |
| ISSCRIPT_VERSION_MISSING | This localizable property holds the message displayed to the end user if the InstallScript engine is not present on the target system. (Applies to InstallScript MSI projects and Basic MSI projects that contain InstallScript custom actions.) |
| ISSCRIPT_VERSION_OLD | This localizable property holds the message displayed to the end user if the InstallScript engine is out of date on the target system. (Applies to InstallScript MSI projects and Basic MSI projects that contain InstallScript custom actions.) |
| ISSCRIPT_ENGINE_VERSION | This property is used to determine the required version of the InstallScript engine on the target system, only if the user runs the installation by launching your MSI database directly. As the default value “***SET BY BUILD***” indicates, the value of this property is written to the Property table of your MSI database at build time, unless you specify another value.
Applies to InstallScript MSI projects and Basic MSI projects that contain InstallScript custom actions. |
These properties apply to version checking for MDAC.
| Property Name | Description |
|---|---|
| ISINSTALL_MDAC_BYVERSION | Create and set this property to "Yes" if you want InstallShield to perform default version checking. |
| ISINSTALL_MDAC_SKIP | Create and set this property in the Project Manager if you are performing your own version checking and do not want InstallShield to install MDAC. |
See Also
Using Windows Installer Properties