Internal variables correspond to the internal state of the InstallMate program and directly influence Setup's behavior. The variables are initialized each time Setup starts and are updated by command line options and the Setup runtime engine during the session. They may also be changed by explicit actions during the installation process. However, none of the changes are persistent; the next time Setup starts, the variables are re-initialized and any previous values are lost.
Because they are closely connected to the state of the runtime engine, internal variables play an important role in the conditions for actions and components. For example, the TsuRunMode variable determines which dialog sequence is used as the installer's user interface, and also selectively suppresses or enables various installation actions; the TsuQuiet variable determines the visibility and level of interaction of the installer.
By convention, the names of InstallMate internal variables start with 'Tsu'. We suggest that you do not use this prefix for your own variables; this avoids potential conflicts with future additions to the internal variables.
|ExtraSize||Additional installation space requirements|
|InstallDate||Current date as YYYYMMDD|
|Installed||Nonzero if running from installed base; synonym for TsuInstalled|
|InstalledVersion||Currently installed product version|
|InstallID||Unique installation identifier|
|InstallLocation||Install location from registry|
|InstallTime||Current time as HHMMSS|
|LastExitCode||Exit code of the most recently run external program|
|LastStatusCode||HTTP status code of the most recent download action|
|LastStdOut||STDOUT and STDERR output of the most recently run external program|
|PackageCode||Distribution package GUID|
|PreinstallFolder||Temporary pre-installation folder|
|PRIMARYFOLDER||Name of the primary installation folder symbol|
|PrimaryVolumePath||Volume containing the primary installation folder|
|PrimaryVolumeSpaceAvailable||Available disk space on primary installation volume|
|PrimaryVolumeSpaceRemaining||Remaining disk space on primary installation volume|
|PrimaryVolumeSpaceRequired||Required disk space on primary installation volume|
|ReplacedInUseFiles||One or more in-use files were replaced; synonym for TsuFilesInUse|
|ROOTDRIVE||Default disk drive for installation|
|SessionID||Pseudo-random 8-character session identifier|
|SourceDir||Setup runtime folder|
|TARGETDIR||Root folder for installation|
|TinComponentsKey||InstallMate components registry path|
|TinFolder||InstallMate database root folder|
|TinProductFolder||InstallMate installation database folder|
|TinProductsKey||InstallMate products registry path|
|TinRegistryPath||InstallMate registry path|
|TizPath||Fully qualified path of the current installation database|
|TsuActionItem||Current action item during installation|
|TsuActionName||Current action name during installation|
|TsuArguments||The installer's command line arguments|
|TsuExitCode||Installer exit code|
|TsuFeatureBrowsable||Current feature's folder may be browsed|
|TsuFeatureDescription||Current feature's description|
|TsuFeatureDisplayName||Current feature's display name|
|TsuFeatureFolderAlias||Current feature's associated folder alias|
|TsuFeatureSize||Current feature's installation size|
|TsuFilesInUse||One or more in-use files were replaced|
|TsuInstalled||Nonzero if running from installed base|
|TsuInstallLevel||Installation level for installation|
|TsuInstallSize||Total installation size|
|TsuMBTimeOut||Time-out period for built-in messages, in seconds|
|TsuPath||Fully qualified path of the installer program|
|TsuPendingFileDelete||One or more installation files are pending deletion|
|TsuPID||Process ID of the installer process|
|TsuProgress||Overall progress as permille of total work|
|TsuProgressPos||Number of bytes processed so far during installation or download|
|TsuProgressRange||Total number of bytes to process during installation or download|
|TsuQuiet||User interface level during install|
|TsuRebootMode||Reboot policy during install|
|TsuRebootRequired||Reboot is required|
|TsuRemoveSize||Total removal size|
|TsuRunMode||Installer run mode|
|TsuStatus||Installer session status code|
|TsuUpgrade||Uninstaller runs as part of upgrade|
|TsuUserAgent||HTTP User-Agent string during component downloads|
|UninstallKey||Uninstaller registry key name|
|UninstallMainRegPath||Main product uninstaller registry key path|
|UninstallRegPath||Uninstaller registry key path|
|UninstallTitle||Uninstaller display name|
|UserLanguageID||Language ID of the installation language (decimal)|
|VersionTin||InstallMate version number|
List of InstallMate internal variables
The following list shows the InstallMate internal variables and their compatibility aliases.
Indicates if Setup is running from an existing installation (in maintenance mode or as uninstaller) or from a distribution package as a new installation.
New installations are special in that they go through the full installation wizard, may uninstall previous versions of the same or other applications, and may perform customer registration actions.
Note that this variable does not indicate that a previous (or the same) version of the application is already installed; it merely reflects the current Setup situation.
The initial value of this variable is automatically determined by Setup when it loads the installation database.
|0=New installation, running from distribution package
1=Installed, running from installed database
|ReplacedInUseFiles||Indicates that one or more files that must be updated were in use. As a result, the installer has scheduled delayed fily copying to take place during the next system reboot.||0=No in-use files encountered
nonzero=In-use files encountered
Name of the item being processed by the current installation action. Typically, this is the name of an installation file or a similar installation item.
A static text control subscribed to this variable will automatically be updated as each item is processed.
|Any appropriate text string; may be empty.|
Descriptive name of the current action, for example "Installing files". This name is obtained from the current custom or standard action.
A static text control subscribed to this variable will automatically be updated as each action is executed.
|Any appropriate text string; may be empty.|
|TsuAvailableSize||Available disk space on the primary installation volume (i.e., the one that contains <INSTALLDIR>).||A decimal integer in the range 0..264-1|
|TsuExitCode||Indicates the current Setup exit code. This code is returned when Setup terminates through the Win32 API ExitProcess.||0=No errors
For other values, see Setup Command Line Options.
|TsuInstallSize||Total installation size based on the currently selected features.||A decimal integer in the range 0..264-1|
The current overall progress level as a decimal integer.
A progress bar control subscribed to this variable will automatically be updated as the installation progresses.
|A decimal integer from 0 to 1000 inclusive, indicating the progress level in thousandths of the total amount of work.|
Indicates the current "quietness" level. This in turn determines the amount of interaction with the user.
The initial value of this variable is 0, but may be overridden by the /q command line option.
|0=Not quiet, normal user interface
1=Quiet, limited user interface without interaction
2=Hidden, no visible user interface
Reboot mode for Setup. In conjunction with TsuRebootRequired, this variable determines whether or not a reboot will be performed when Setup terminates.
The initial value of this variable is set on the Installation page of your InstallMate project, but may be overridden by the /b command line option.
1=Reboot if TsuRebootRequired is set
Indicates whether a reboot is necessary to complete the installation. It is set automatically when an in-use file has to be replaced or when a file marked Reboot is installed, but you can also change its value through a custom action or the user interface.
The initial value of this variable is 0.
0=No reboot required
|TsuRemoveSize||Total removal size based on the difference between the currently selected features and the currently installed ones.||A decimal integer in the range 0..264-1|
Operating mode for Setup. It is best to set this variable at the very start of the installation or uninstallation process; changes that occur later may have unpredictable consequences.
The initial value of this variable is automatically determined by Setup when it loads the installation database, but may be overridden by the /install, /remove, /register, or /repair command line options.
Current session status for Setup. Negative values indicate that an error has occurred; positive values that the session is in progress.
An installation session starts when the StartProcessing action is started; this sets TsuStatus to 1. It finishes when EndProcessing is complete; this sets TsuStatus to 2, unless an error occurred in the meantime. After EndProcessing the session status remains unchanged, unless an error occurs during post-processing.
This variable is read-only; although you can change its value, Setup internally ignores these changes.
The initial value of this variable is 0.
|-2=Session cancelled by user
-1=Session failed due to error
0=Session not started yet
1=Session in progress
|UILevel||Read-only alias for TsuQuiet. Note that for compatibility with MSI the values retrieved through UILevel are different from the TsuQuiet values.||
2=Silent installation; no user interface at all. Corresponds to TsuQuiet=2
|UpdateStarted||Read-only alias for TsuStatus.||See TsuStatus. Nonzero values indicate that the update is in progress or complete.|