Installer packaging

InstallMate supports several flexible packaging options for your installer; they are chosen through the Packaging option in the package settings.

Each method in the following table only specifies the default packaging for the package; you can still use any of the other methods for specific files and components in the project. See Packaging variations for some suggestions.

Packaging method Description Suitable for Remarks
Compressed .exe Creates a single self-extracting installer that contains the setup program, the setup database, and the installation files as a compressed archive*. Distribution as an Internet download, or other channels that favor a single monolithic installation package. Disk spanning does not apply. If the resulting .exe exceeds 1 GB or so in size, then Windows may not be able to load it. In that case, we recommend specifying Download for some of the components, or switching to a different packaging method altogether. See Packaging variations.
Plain file tree Creates one .exe file with the setup program and setup database, and a separate folder tree that mirrors the actual installation with all the installation files in uncompressed format*. Distribution on large-size media such as CD-ROM and DVD, where you need access to individual installation files prior to installation (or prior to burning the CD-ROM or DVD). The entire file tree must fit on the distribution medium. See the Build output files topic for details.
Loader + Archive Creates one .exe file with the setup program and setup database, and a separate .tiz archive that contains all installation files in compressed format*. Distribution on media such as CD-ROM and DVD, where a single large .exe installer might slow down the installer's startup time due to excessive scanning times from anti-virus and other security tools. If disk spanning is specified, then the compressed archive may be split into several files that are each <= maximum span size and are intended to distributed on as many separate disks.
Loader + Download Creates one .exe file with the setup program and setup database, plus a separate .tiz archive for each component that contains the installation files in compressed format*. The .tiz archives are intended for downloading from an Internet or local server. Distribution as an Internet download with a small initial download size, followed by the bulk of the installer when installation commences. The downloads are selective: only those that are needed for the selected installation options are retrieved. Disk spanning does not apply.

*However, for individual files you can override this and force a file to be always compressed or always plain. Additional variations are possible at the component level; see Packaging variations below.

Packaging details

The installers created by InstallMate contain the following elements:

  1. The Setup program proper, also known as a setup stub. This is the program that performs the actual installation steps.
  2. The Setup database containing the installation information: what to install and where, which actions to perform, and the installer dialogs to show along the way.
  3. Various auxiliary files such as the optional extension DLL and the resource DLL that contains the localized installer messages and dialog boxes.
  4. The installation files, i.e., the files that you want to install on the customer's system for your application.

InstallMate provides several packaging methods for these elements, and you can mix packaging methods in a single installer. For example, you can create an installer that consists mostly of a single self-extracting package, but that will download some installation files on an as-needed basis. (This can be useful if you want to keep your basic installer small, but occasionally need to install large and less often needed files such as optional components or a database runtime engine.)

How the installer is distributed

The installer proper, consisting of the Setup program, the Setup database, and various auxiliary files such as the resource DLL that contains the installer's dialog pages, is always distributed as a single executable file with a .exe file name extension. Internally it contains a compressed archive that holds the database and auxiliary files. In the case of the Compressed .exe packaging method (see below), the installation files are also included in this internal archive; for all other packaging methods, the installation files are stored separately.

Note: If the installer is digitally signed (through the Sign after build option of the package), then it is this installer executable that has the signature added to it. Any additional distribution files are not signed, but may or may not have their own integrity protection. Compressed archives have their own per-archive digests, but installation files distributed in uncompressed (plain file) form have not, because these are often intended to be replaced when the distribution media are written.

How installation files are distributed

Installation files can be distributed in the following ways:

The Packaging attribute of the package determines the default distribution method, but this can be overridden on a per-file and a per-component basis.

Packaging variations

You can vary the installer packaging per file and per component. Generally speaking, the packaging method specified for the current package defines the default, which can then be overridden for each component and each file. This allows you flexibility in deployment scenarios even within a single installer project, by using several packages to cater for variations in distribution.

Example 1

In this scenario, you build three different installers from the same project. The first installer, defined by package A, is most suitable for Internet downloads; everything except components P, Q, and R arrives in a single package. The second installer, based on package B, can be used for distribution of the same product on CD-ROM, DVD, or a memory stick. In either case, the installers will install the same product and will download components P, Q and R (which presumably contain large, but rarely used files) only on an as-needed basis. The third installer, based on package C still in the same project, consists of a very small initial portion that will download any required components (including, but not limited to P, Q and R) on an as-needed basis during installation.

Package Contents of base package Other local content Download content
Package A Everything except components P, Q, and R nothing Components P, Q, and R (as three separate packages)
Package B Only loader + database A single .tiz archive containing all installation materials except components P, Q, and R Components P, Q, and R (as three separate packages)
Package C Only loader + database nothing A Download.tiz main package, plus three additional packages for components P, Q, and R

Example 2

In this case, only one installer is built that consists of three files: a small loader (containing the Setup program and installation database); a presumably much larger, compressed archive that contains most of the installation files in compressed format; and the file Sample.txt, which is kept separate and uncompressed, perhaps because it contains a registration key or other customer-specific information that you want to modify prior to creating the distribution CD-ROM, DVD, or memory stick.

Package Contents of base package Other local content Download content
Example 2 Only loader + database A single .tiz archive containing all installation materials except the file Sample.txt, plus a separate, uncompressed copy of the file Sample.txt nothing

Interaction between package, component, and file packaging options

The following table shows how the packaging options at the various levels determine where a particular installation file will be stored in the installation package. The file names used in the table have the following meaning:

If a file is not controlled by a component, then it behaves as per the component Default packaging option. Note that download archives are not subject to disk spanning; they are always in one part, regardless of their size.

Storage location of an installation file as function of its packaging options

High-level packaging options
File storage location per file packaging option
Installer package option Component option Default Compressed Plain file
Compressed .exe Default or Local Installer.exe Plain file tree
Download Component.tiz [download]
Plain file tree Default or Local Plain file tree Installer.exe
Download Component.tiz [download]
Loader + Archive Default or Local Disknnnn.tiz
Download Component.tiz [download]
Loader + Download Default Component.tiz or _TinMain.tiz [download]
Local Installer.exe
Download Component.tiz [download]

Disk spanning

The term disk spanning refers to a large installation package that is broken into smaller, disk-size parts. In InstallMate 9, disk spanning is available if you choose the Loader + Archive packaging option. In that case, the installation package will be broken up into the following parts:

The combined sizes of Installer.exe plus Disk0001.tiz will be equal to the disk size that you specified in the advanced build options; Disk0002.tiz to Disknnnn-1.tiz will each be equal to the specified disk size, and the final file Disknnnn.tiz will be less than or equal to the desired disk size. If the installer includes plain (i.e., uncompressed) installation files, then the space needed for these files and their parent folders will be automatically deducted from the space available on the first disk. See Distribution files for details of which files go onto which disk.

Note: If you use a password to protect your installer (see package attributes), then each individual archive and archive span will be encrypted and protected by the same password. Under normal circumstances, the customer only needs to specify the password when the first archive is accessed; the same password will be automatically reused for any remaining archives and spans during the same installer session.