A Symbolic Variable represents a replaceable piece of text. The text proper is defined in one place and assigned a symbolic name; it is then referenced elsewhere in the project by using the special <name> syntax. Symbolic variables are typically used for folder paths and text strings that vary from project to project or from release to release, such as the product name and version. They are also used to control the installation process when they are part of conditional expressions.
Tip: For a full list of predefined symbolic variables, see the Symbolic variables topic.
Symbolic variable handling changed in InstallMate 9.5. Specifically, support for Windows versions prior to Windows XP/2003 was removed. Documentation for InstallMate 9.0-9.4 symbolic variables is available separately.
Because some symbolic variables may be platform-specific, InstallMate allows you to specify separate values for the Windows product families that have evolved over the years. At installation time, the installer will select the most appropriate value according to the following general rules and table:
- The installer will start at the most specific value that applies. For example, if running on a 64-bit Windows 8 system, the installer will attempt to use the Vista/2008/7/8/2012/10 (x64) value.
- If a specific value is not defined, increasingly less specific values will be used. For example, if the Vista/2008/7/8/2012/10 (x64) value is not available, the installer will try the Vista/2008/7/8/2012/10 value, then the 64-bit value, and finally the default Symbol value.
The following attributes and options are available.
|Symbol name||Enter the name for the variable. This name must be unique within the project and must be different from all other symbolic variables, folder aliases, and registry key aliases.|
Select the type of variable from the drop-down list:
The variable type is used during preflight checking to ensure that variables are used in the correct context. You do not have to assign a type to each variable; if a variable is defined in terms of other variables, it will automatically inherit their type if appropriate. The variable's type is indicated with an icon in the variables list on the Variables project page as shown above.
Note: You cannot create folder or registry key aliases as variables; they are created automatically for each folder and registry key in the project. However, they can be used as regular folder or registry key path variables, respectively.
|Include in installer||Check this box to store the variable in the installation database; clear it to omit it. If you omit a variable that is referenced elsewhere in the project, InstallMate will issue diagnostic message BLD:W0103.|
|Do not log in installer||
Check this box to prevent the value of the symbolic variable to be logged in the installation log file; clear it to log its value.
If this option is set, then the TSU:D0001 and TSU:D0006 diagnostic messages will suppress the value of the variable. If its value is empty, it will be printed as empty; if the value is not empty, it will appear as *HIDDEN* in these messages.
This option is useful to prevent confidential values, such as passwords stored in a variable, from being logged in too obvious a way. However, if a variable with this option set is used in its symbolic form <MyVarName> in a different context, for example as part of the message in a MessageBox action or as an argument in a Run Program action, then its value will appear in the log file when information about those actions is logged.
|Resolve at Build time||
Check this box to resolve the variable at build time and store the resolved value for the installer. Clear this box to store the symbol's value expression as-is, which means that it will be expanded by the installer at installation time (this is the default).
This option is useful if you want to carry over information from your build environment to the installation, instead of using dynamic information from the target system.
If this option is set, any dynamic symbolic expressions such as runtime functions and registry lookup will be performed on the build system. Moreover, if any of the Platform-specific values is checked, the symbol resolution will use the appropriate value for the build system.
|Symbol value||Enter the localizable value for the variable. You may use symbolic references in the value; they will be expanded each time the variable is used in the installer. This value acts as the default value for the symbol if none of the Platform-specific values applies.|
|64-bit value||Check this box and enter an alternate value for the variable if the variable must have different values for 64-bit versions of Windows. Clear this box to use the same value on all platforms. See Platform-specific values for details.|
|Vista/2008/7/8/2012/10||Check this box and enter an alternate value for the variable if the variable must have different values for Windows Vista/2008/7/8/2012/10 and later than for Windows XP/2003. See Platform-specific values for details.|
|Vista/2008/7/8/2012/10 (x64)||Check this box and enter an alternate value for the variable if the variable must have different values for 64-bit versions of Windows Vista/2008/7/8/2012/10 and later than for 64-bit versions of Windows XP/2003. Clear this box to use the same value on all platforms. See Platform-specific values for details.|
|Description||Enter a description for the variable. This description is only for your own reference in InstallMate; it is not saved or used by the installers.|