Installer Options

The Installer Options page contains various options that control the behavior of the installer. They are used when you build an InstallMate configuration on the Build Configurations page.

Attributes and options

The following attributes and options are available on the Installer options page.

Attribute Description
Installation level Select the desired installation level for your product from the drop-down list. See the section Installation levels below for an explanation of the available options.
Process check

Select the desired running process check option from the drop-down list. The following choices are available:

Process check Description
Don't check Don't perform any running process checks.
Advisory check Check that the processes listed under Processes are not running. If they are, warn the user but allow the installation to continue anyway. This may lead to problems with in-use files during installation or removal.
Blocking check Check that the processes listed under Processes are not running. If they are, then block the installation until the processes are no longer running, or the user cancels the installation.
Processes Enter the list of process names to check for, separated by semicolons (';'). You must specify the file name and extension of the process, but not its path. Example: tin.exe;notepad.exe
Use RestartManager

Check this box to use Windows RestartManager to check and close running processes that hold files that must be replaced by the installer; clear the box to omit the use of RestartManager.

RestartManager is only available on Windows Vista and later. Its use may incur extra runtime overhead, because the installer must check ahead of time which files will be replaced during the session. Without RestartManager, the file replacement check is only done when a file is ready for installation, and the check time then is typically insignificant compared to the extraction and installation of the file.

Uninstaller

Select the desired uninstaller registration option from the drop-down list. The following choices are available:

Uninstaller Description
Don't register Don't register the uninstaller. This is NOT recommended, because it makes it difficult for the user to remove your product.
Hidden uninstaller

Register only a hidden uninstaller, using the QuietUninstallString. The uninstaller will not appear in the Windows Add/Remove Programs control panel, but can still be uninstalled during an upgrade or as part of an Add-on/Update installation.

This is the recommended option for update installers.

Normal uninstaller

Register both a normal and a hidden uninstaller through UninstallString and QuietUninstallString. The uninstaller will appear in the Windows Add/Remove Programs control panel, but can also be automatically uninstalled during an upgrade or as part of an Add-on/Update installation.

This is the recommended option for most products, including add-on installers.

Update uninstaller

Register both normal and hidden uninstallers, but mark the program as an Update in the Add/Remove Programs control panel. The effect of this depends on the Windows version:

  • On Windows Vista, the uninstaller is shown if you click the View installed updates link in the Programs and Features control panel. It is not visible in the standard panel.
  • On Windows XP (SP2 and later), the uninstaller is only visible if the Show updates box is checked in the Add/Remove Programs control panel. It is then shown as a child of the main product.
  • On all earlier Windows versions, the uninstaller is shown normally.

The option is ignored if the current installer is not marked Add-on/Update for product on the Product Information project page. In that case, the option behaves as Normal uninstaller.

Display name Enter the display name for the uninstaller, i.e., the name under which your product will be listed in the Windows Add/Remove Programs control panel.
Register A/RP Change option Check this box to register a Change option for the product in the Windows Add/Remove Programs control panel; clear it to register only a Remove option. This option is subject to the Uninstaller option and not available if you choose not to register an uninstaller at all.
Reboot policy

Select the desired reboot policy from the drop-down list. The following choices are available:

Reboot policy Description
Never reboot Never reboot after installation. Any reboot requests, for example for delayed file copying, are ignored.
Reboot if required

Reboot the system if required, for example because one or more in-use files were encountered that must be replaced by delayed file copying.

The user is prompted at the end of the installation to allow the reboot, and may still suppress it.

Always reboot

Always schedule a reboot.

The user is prompted at the end of the installation to allow the reboot, and may still suppress it.

Log file mode

Select the desired installation log file mode from the drop-down list. The following choices are available:

Log file mode Description
Clean up if successful The installer deletes its log file at the end of a successful installation; it keeps the log file (in the Temp folder, see below) if a failure occurred during installation.
Keep in Temp folder The installer always keeps its log file; it is stored in the Temp folder (see below).
Move to TinProductFolder The installer always keeps its log file, but it is renamed and moved to <TinProductFolder> at the end of the installation.
Move to custom path The installer always keeps its log file, but it is renamed and moved to a custom location at the end of the installation.

The installer's log file is initially written to the %TEMP% folder of the installing user, which is usually one of the following (or their localized equivalents):

  • C:\Users\<user name>\AppData\Local\Temp
  • C:\Documents and Settings\<user name>\Local Settings\Temp
  • C:\Windows\Temp or C:\WinNT\Temp
  • C:\Temp

Note: Some of these folders are hidden by default in Windows Explorer; you might have to change the Windows Explorer folder settings to Show hidden files and folders in order to see the applicable Temp folder.

The initial name of the installation log file is is PackageName-xxxx.log (with PackageName the name of your installation package and xxxx a hexadecimal number) during a new installation; it is Setup.log during subsequent Change, Modify or Repair runs, and during uninstallation.

If you select Move to TinProductFolder or Move to custom path in the Log file mode field, then the log file is renamed and moved to either <TinProductFolder> or to the path you specify in the Log file path field. This occurs at the very end of the installation process, immediately before the Setup.exe process terminates. Any log files in <TinProductFolder> are automatically deleted when your product is uninstalled; log files in custom locations remain behind.

Note: Log files created during uninstallation of your product are never moved to the <TinProductFolder>; they either stay in the Temp folder, are moved to a custom folder, or are removed (if you specify Clean up if successful). This happens because the uninstaller removes all product folders, so <TinProductFolder> no longer exists at the end of the uninstallation session.

Note: You can override the location of the log file at installation time by using the /log:logpath command line option. See Setup command line options for details.

Log file path

Enter the log file path if you selected Move to custom path in the Log file mode field. You can use symbolic variables here; we recommend that you use at least one session-dependent variable to avoid overwriting the log file if the installer runs more than once. We also suggest that you use a .log or .txt file extension to indicate the type of file.

The default custom log path is <INSTALLDIR>\<InstallDate><InstallTime>.log, which ensures that each installation's log file is unique and can be easily identified by its date and time.

Allow Cancel during install

Check this box to allow the user to cancel the installation once it has started; clear the box to prevent cancellation. (It is always possible to cancel the Setup wizard before the installation proper has started.)

This option sets or resets the UIAllowCancel variable. This variable is used in the default Setup dialog sequence; you can also use it for your own purposes.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Allow reboot in quiet mode Check this box to allow the installer to reboot the system in quiet mode; clear it to suppress reboots in quiet mode. If this option is checked and a reboot is required in quiet mode, the installer will reboot the system without warning to the user.
Suppress in-use warnings

Check this box to suppress any warnings about in-use files during installation; clear it to warn the user if in-use files are encountered. In the latter case, the user has the opportunity to close any other applications in an attempt to make the files available for replacement.

If the problem cannot be cleared up, or if the warnings are suppressed, the in-use files will be prepared for delayed (post-boot) copying and a reboot will be scheduled.

Advanced... Click this button to open the Setup Error Handling and Extension DLL dialog boxes that allow you to specify further installer options.
Include Readme page

Check this box to display a Readme dialog box prior to installation; clear the box to omit that dialog box.

This option sets or resets the UIReadmePage variable. This variable is used in the default Setup dialog sequence; you can also use it for your own purposes.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Edit Readme...

Click this button to transfer to the Rich Texts project page with the default Readme Rich Text object selected. You can edit the desired text for the ReadmeDlg dialog box.

Note that this command takes you to the default Readme Rich Text object. If you are developing a multilingual installer package and want to localize the Readme texts as well, then you must add further Rich Text objects for the remaining languages and link them to the RichText control on the ReadmeDlg dialog box on the Installer Dialogs project page.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Include License page

Check this box to display a License agreement dialog box prior to installation; clear the box to omit that dialog box.

This option sets or resets the UILicensePage variable. This variable is used in the default Setup dialog sequence; you can also use it for your own purposes.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Edit License...

Click this button to transfer to the Rich Texts project page with the default License Rich Text object selected. You can edit the desired text for the LicenseDlg dialog box.

Note that this command takes you to the default License Rich Text object. If you are developing a multilingual installer package and want to localize the license agreement texts as well, then you must add further Rich Text objects for the remaining languages and link them to the RichText control on the LicenseDlg dialog box on the Installer Dialogs project page.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Show Run App on Finish page

Check this box to display the Start the application option on the final installer dialog page; clear it to hide the option.

This option sets or resets the UIShowRunApp variable. This variable is used by the FinishDlg dialog box in the default Setup dialog sequence; you can also use it for your own purposes.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Target path

Enter the installation path of the application to run from the Finish page or click the ... (browse) button to open the Select Installation File or Folder dialog box to browse for the desired file.

This option sets or resets the UIRunAppPath variable. This variable is used by the FinishDlg dialog box in the default Setup dialog sequence; you can also use it for your own purposes.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Tip: You can also enter fully qualified URL such as http://www.tarma.com/im7/register.htm if you want the installer to display a web page after installation.

Arguments

Enter any command line arguments for the application that runs from the Finish page, or leave empty if no arguments are required.

This option sets or resets the UIRunAppArgs variable. This variable is used by the FinishDlg dialog box in the default Setup dialog sequence; you can also use it for your own purposes.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Start in

Enter the initial working folder for the application that runs from the Finish page, or leave empty to start the application from its own folder.

This option sets or resets the UIRunAppDir variable. This variable is used by the FinishDlg dialog box in the default Setup dialog sequence; you can also use it for your own purposes.

Warning: If you modify the default installer dialogs, then this option may no longer work as intended.

Installation levels

The installation level determines which access checks the installer performs and which, if any, folders and registry keys are redirected:

Note: Windows 95, 98, and Me have little or no conception of security or access privileges, so Installation level has little effect on these platforms beyond some folder and registry key redirection. You should choose the desired option based on its effect on NT-based platforms (Windows NT4, 2000, XP, 2003, Vista, 2008, and later).

The installation level can also be set with the /a Setup command line option and is accessible through the TsuInstallLevel variable.

The following installation levels are available:

Installation level Description
Not checked

Does not perform any access checks and always installs as All Users. However, because no access checks take place, the installation may fail without prior warning if the installing user account does not hold the privileges that are required to perform the installation.

This option is NOT recommended.

Current User

Always perform a Current User installation. This will redirect any common folders and registry keys to their Current User equivalent. As a result, your product will only be accessible to the user who performed the installation, and any shortcuts will only be visible to that user.

Tip: With this option, multiple users can install and remove independent copies of your product. Do not install any files in the Windows folder or below, because this folder tree is not redirected and ordinary users cannot set or modify the SharedDLLs reference count for those files. Any attempt to install files with the Shared file attribute will therefore fail.

If the project contains installation items that require elevated privileges (for example, service installation) and the installing user account does not hold these privileges, the installer will display a warning prior to installation and will refuse to install.

All Users, else Current User

Perform an All Users installation if possible, or fall back automatically to a Current User installation if the installing user account does not hold the required privileges.

If the project contains installation items that require elevated privileges (for example, service installation) and the installing user account does not hold these privileges, the installer will display a warning prior to installation and will refuse to install.

All Users, query Current User

Perform an All Users installation if possible, or ask the user if he/she wants to perform a Current User installation instead if the installing user account does not hold the required privileges. If the user declines, the installer will refuse to install.

If the project contains installation items that require elevated privileges (for example, service installation) and the installing user account does not hold these privileges, the installer will display a warning prior to installation and will refuse to install.

Note: During silent installs (/q or /q2 Setup command line option), the installation will fail if an All Users installation is not possible.

All Users

Always perform an All Users installation. No redirection of folders or registry keys takes place and your product will be accessible to all users on the system.

If the installing user does not hold the privileges for an All Users installation (the user must be a member of the Power Users or the Administrators group for an All Users installation), or if the project contains installation items that require elevated privileges (for example, service installation) and the installing user account does not hold these privileges, the installer will display a warning prior to installation and will refuse to install.

Note: Members of the Power Users group cannot register files for delayed copying. You must therefore ensure that the installer will not encounter any in-use files that must be replaced, for example by specifying the appropriate Process check (see above).

Administrator

Always perform an All Users installation and in addition require that the installing user account is a member of the Administrators group. If the user is not, the installer will refuse to install.

This option is mainly useful if you want to perform additional installation actions that you know require Administrator privileges. For any standard actions that require Administrator privileges (for example, service installation), the installer automatically checks if the installing user holds the required privileges.

Administrator rights are also required to register files for delayed copying if the installer encounters in-use files that must be replaced. You can therefore use this option to handle in-use files as well. However, the preferred approach is to prevent in-use files in the first place by performing the appropriate Process check (see above).

Related topics

Working with project pages