Windows Installer Property Reference

InstallShield 2019 Express Edition

Windows Installer properties let you reference certain aspects of your installation through the Windows Installer service. These properties can be used in custom actions, .ini file keyword values, and in dialog text. For information on how to use these properties, see Working with Windows Installer Properties.

The following categories of Windows Installer properties are described in this topic. Click a link to go directly to a category.

Special Folder and File Properties
Feature Installation Properties
Other Configurable Properties
User-Supplied Information
Product-Specific Properties
System Folders Set by the Installer
Operating System Properties Set by the Installer
Hardware Properties Set by the Installer
Status Properties Updated by the Installer
Date and Time Properties

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 and File Properties

Special folder properties are those properties that define where files are stored or installed on the target system. File properties refer to specific files.

To use a folder property in your installation, enclose it in square brackets: [].

Folder Properties

Property Name

Description

INSTALLDIR

This property contains the default destination folder for the files in your features. For more information, see Setting the Default Product Destination Folder (INSTALLDIR).

SETUPEXEDIR

The SETUPEXEDIR property contains 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.

Note • There are two limitations to using SETUPEXEDIR:

SETUPEXEDIR is set by Setup.exe. If the end user runs the .msi package directly, SETUPEXEDIR is not set. To account for this, you could have a dual implementation in your installation—one that uses SETUPEXEDIR and one that uses SourceDir. You could test for the existence of SETUPEXEDIR and, if it does not exist, you could conditionally use your SourceDir implementation.
SETUPEXEDIR might not be set at uninstallation. If the end user triggers the uninstallation by running Setup.exe, SETUPEXEDIR is set. If they run the uninstallation from Add or Remove Programs, SETUPEXEDIR is not set.

Note that in an uncompressed installation, SourceDir and SETUPEXEDIR have the same value.

SETUPEXENAME

This property identifies the name of the setup launcher file that was created when the project was built. The installation updates the value of this property at run time if the setup launcher file was renamed. The following path identifies the full path to this file:

[SETUPEXEDIR]\[SETUPEXENAME]

SourceDir

This property stores the root directory where all the source files are located.

Caution • If your release consists of an .msi package that is compressed into a setup launcher and the .msi package is not cached on the local machine, SourceDir should be referred to during installation, but not during uninstallation or maintenance. In these circumstances, the setup image runs from a temporary location that is removed following installation.

SETUPEXEDIR is an alternative to the directory identifier SourceDir. A potential problem with using SourceDir is that it points to the location of the running .msi package. In the case of a compressed installation, the .msi package is streamed to a temporary location and run from there. Because of this, the value of SourceDir will be some temporary location on the end user’s machine, which might not be the value you want.

TARGETDIR

The TARGETDIR property is the location where the Windows Installer package is copied (and its data files uncompressed) during an Administrative installation.

Feature Installation Properties

The following section provides information on feature installation properties, with which the end user can specify how features should be installed.

Feature Installation Properties

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

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.

Additional 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 Windows Installer should attempt to perform a per-machine or per-user installation.

If the value of ALLUSERS is set to 1, Windows Installer attempts a per-machine installation. For per-machine installations, configuration information such as shortcuts and registry entries are stored in the All Users profile:

On Windows Vista and later systems, if User Account Control is enabled and the user does not have administrative privileges, the user must be able to provide administrative credentials in order to install the product.
On other systems, if the user does not have administrative privileges, the installation displays an error message and exits.

Project • This property is set to 1 by default in all new Express projects. To learn more, see Per-User vs. Per-Machine Installations.

If the value of ALLUSERS is not set or it is an empty string (“”), Windows Installer performs a per-user installation, and the configuration information is stored in the user’s personal profile.

If the value of ALLUSERS is set to 2, Windows Installer attempts to perform a per-machine installation on Windows Vista and later systems. On earlier platforms, if the user has administrative privileges, Windows Installer attempts to perform a per-machine installation; otherwise, Windows Installer performs a per-user installation.

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 Add or Remove Programs.

ARPCONTACT

This property contains support contact information, such as an email address or a telephone number.

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.

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 Add or Remove Programs.

ARPURLINFOABOUT

This property stores the URL for the application’s home page or the publisher’s home page.

ARPURLUPDATEINFO

This property stores the URL for update information on your application.

ARPNOMODIFY

Setting this property disables Add or Remove Programs functionality that would, by default, allow the product to be modified.

ARPNOREMOVE

Setting this property disables the Add or Remove Programs 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.

MSIINSTALLPERUSER

This property indicates that the Windows Installer should install the package for only the current user:

If the ALLUSERS property is set to 2 and MSIINSTALLPERUSER is set to an empty string (""), the Windows Installer performs a per-machine installation.
If the ALLUSERS property is set to 2 and MSIINSTALLPERUSER is set to 1, the Windows Installer performs a per-user installation.

This property is available with Windows Installer 5 and on Windows 7 or Windows Server 2008 R2. Earlier versions of Windows Installer and Windows ignore this property.

For more information, see the following:

Per-User vs. Per-Machine Installations
MSIINSTALLPERUSER Property on the MSDN Web site

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.

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.

User-Supplied Information

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.

ISX_SERIALNUM

This property stores the serial number that the end user enters in the Serial Number field on the Customer Information dialog.

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.

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.

Product-Specific Properties

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.

ProductName

This property stores the name of the product—for example, InstallShield. This property is set in the General Information view.

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.

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.

System Folder Properties

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.

DesktopFolder

This property is used to hold the full path to the Desktop folder for the current user. If the setup is being run 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.

ProgramMenuFolder

This property is used to hold the full path to the Program menu for the current user. If the setup is being run 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 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 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.

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.

Operating System Properties

Property Name

Description

AdminUser

This property is set by the installer at installation and is set if the user has administrative privileges.

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.

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

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

This property is set to 1 if Microsoft BackOffice components are installed. In all other cases this property is not set.

MsiNTSuiteDataCenter

This property is set to 1 if Windows 2000 Datacenter Server is installed. In all other cases this property is not set.

MsiNTSuiteEnterprise

This property is set to 1 if Windows 2000 Advanced Server is installed. In all other cases this property is not set.

MsiNTSuiteEnterprise

This property is set to 1 if Windows 2000 Advanced Server is installed. In all other cases this property is not set.

MsiNTSuiteSmallBusiness

This property is set to 1 if Microsoft Small Business Server is installed. In all other cases this property is not set.

MsiNTSuiteSmallBusinessRestricted

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.

MsiNTSuitePersonal

This property is set to 1 if the operating system is Workstation Personal. In all other cases this property is not set.

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.

Hardware Properties

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.

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.

Status Properties

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

Date and Time Properties

Property Name

Description

Date

This property holds the current date.

Time

This property holds the current time.