Your installers can run other installation packages as part of their own operation. This article discusses the recommended methods and their limitations.
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 Tarma Installer. 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 a Tarma 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. |
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 path |
...path...\anyself.exe If you install anyself.exe as part of the main installer, then you can use the ... (browse) button to the right of the Target path field to select the subinstaller package. 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 |
| 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 Tarma 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. |
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: In Tarma Installer 5, you can also list MSI 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 the documentation for the System Requirements project page for details.
The recommended Run Program action settings are as follows for anymsi.msi:
| Attribute | Settings |
|---|---|
| Target path | <SystemFolder>\msiexec.exe |
| Start in | Set to the folder in which anymsi.msi resides. |
| Arguments |
/I "...path...\anymsi.msi" If you install anymsi.msi as part of the main installer, then you can use the ... (browse) button to the right of the Target path field to select the subinstaller package. If you distribute the subinstaller separately but on the same media (e.g., CD-ROM), then you can use the SourceDir variable, as follows: /I "<SourceDir>\anymsi.msi" Please note that the "quotes" are required if the path may contain spaces after expansion of all symbolic variables. If you want to run the subinstaller in quiet mode (without user intervention), then add /qb before the /I option: /qb /I "<SourceDir>\anymsi.msi" 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. |