Installers and subinstallers

Your installers can run other installation packages as part of their own operation. This article discusses the recommended methods and their limitations.

Installation package types

The following installation package types are relevant in the context of subinstallers:

Type Extension Description
Tarma native .exe This is the installation package created by InstallMate. It contains its own Setup program plus all installation files.
MSI .msi Created by Tarma ExpertInstall and other products. It contains the installation files, but no Setup program. Instead, it relies on the Windows Installer service on the target system.
Other self-extracting .exe As created by other products. They contain their own Setup programs plus installation files.

The recommended subinstaller action settings are illustrated with the following fictitious installers:

Name Description
anyself.exe Represents any self-extracting installation package, either an InstallMate installer or an installer created by another product. It may also include self-extracting MSI installers (with bootstrap loaders) as created by Tarma ExpertInstall.
anymsi.msi Represents a plain MSI package, i.e., an MSI database without bootstrap loader or other self-extractor.

Recommended InstallMate Run Program settings for .exe subinstallers

You can use a Run Program action to execute a self-extracting subinstaller. Place the Run Program action in the MainInstall action sequence, after the InstallFiles standard action. The recommended settings are as follows for anyself.exe:

Attribute Settings
Target type

Choose one of the following:

  • Source file (to automatically include the external installer in the main package)
  • Installed file (to use an externally supplied file during installation)
Installed path

If you distribute the subinstaller separately but on the same media (e.g., CD-ROM), then you can use the SourceDir variable, as follows:

<SourceDir>\anyself.exe

Source path Use the ... (browse) button to select the external installer's anyself.exe file on your own system. It will be automatically included in the main installation package.
Start in Leave blank or set to the folder in which anyself.exe resides.
Arguments Depends on the situation. If you want to run the subinstaller in quiet mode (without user intervention), then use /q for InstallMate installers and /qb for MSI-based self-extracting installers. Self-extracting installers from other vendors usually support similar options for quiet operation.
Condition

NOT Installed

This ensures that the subinstaller is only executed during full installs, not during Repair or Modify installs. Remove or replace this conditional expression if the subinstaller must be run under other circumstances.

other attributes Keep their default values initially; refer to the Run Program action documentation if you want to change them.

Recommended InstallMate Run Program settings for .msi subinstallers

You can use a Run Program action to execute a plain MSI subinstaller. Place the Run Program action in the MainInstall action sequence, after the InstallFiles standard action.

Tip: You can list the MSI runtime as a prerequisite for the main installer. This ensures that the correct MSI runtime support is present on the target system prior to installation. If necessary, the main installer will download and install a new MSI version first. See Prerequisites for details.

The recommended Run Program action settings are as follows for anymsi.msi:

Attribute Settings
Target type

Choose one of the following:

  • Source file (to automatically include the external installer in the main package)
  • Installed file (to use an externally supplied file during installation)
Installed path

If you distribute the subinstaller separately but on the same media (e.g., CD-ROM), then you can use the SourceDir variable, as follows:

<SourceDir>\anymsi.msi

Source path Use the ... (browse) button to select the external installer'sanymsi.msi file on your own system. It will be automatically included in the main installation package.
Start in Set to the folder in which anymsi.msi resides.
Arguments

Leave empty, or if you want to run the subinstaller in quiet mode (without user intervention), then enter /qb in this field.

You can also use other MsiExec.exe command line options; please consult the Microsoft documentation for their details.

Condition

NOT Installed

This ensures that the subinstaller is only executed during full installs, not during Repair or Modify installs. Remove or replace this conditional expression if the subinstaller must be run under other circumstances.

other attributes Keep their default values initially; refer to the Run Program action documentation if you want to change them.