Windows Installer Property Reference

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.

Note

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.

Note

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

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.

Feature Installation Properties

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.

Other Configurable Properties

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.

Note

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:

F To force a reboot when your installation is complete.
S To suppress any reboot except one caused by the ForceReboot action.
R To suppress any reboot caused by Windows Installer actions.
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.

User-Supplied Information

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.

Product-Specific Properties

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:

-1 The product has not been installed or advertised.
1 The product has been advertised, but not installed.
2 The product has been installed for another user.
5 The product has been installed and is available to the current user.
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.

System Folders Set by the Installer

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.

Operating System Properties Set by the Installer

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.

Hardware Properties Set by the Installer

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.

Status Properties Updated by the Installer

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.

Date and Time Properties

Property Name Description
Date This property holds the current date.
Time This property holds the current time.

InstallScript Engine-Related Properties

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.

MDAC Properties

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