Add-on installers
InstallMate supports the creation of Add-on installers. This type of installer is used to add optional components to an existing product installation, as a separate distribution. For example, you can use an add-on installer to distribute plug-ins that the user must purchase separately. Add-on installers can be restricted to a specific version or version range of the main product; this allows you to control compatibility between the main product and its add-ons.
An add-on installer requires the main product to be already present on the target system; it will refuse to install without it. Furthermore, the add-on component will be automatically uninstalled when the main product is uninstalled. The add-on component itself can have its own Add/Remove Programs uninstall entry, but this is optional.
How add-on installers work
An add-on installer has its own InstallMate project. It also has its own, unique product code (GUID), which allows it to be distinguished from the main product. In the add-on project, the main product's product code (GUID) must be entered so the add-on installer can identify its main product on the target system.
When the add-on installer runs on the target system, it does the following:
- Before installation, it checks if the main product (identified by the main product code/GUID) is present on the target system. If it is not, the add-on installer will refuse to install. If specified, the add-on installer will also verify that the main program's version is in the allowable range.
- The installation process itself is the same as that of a regular installer.
- At the end of the installation, the add-on installer registers its uninstaller. It also, at the same time, registers its add-on product code/GUID in the main product's uninstall information. This causes the main product to uninstall the add-on when the main product is uninstalled.
In almost all other respects, an add-on installer project is the same as a regular installer project. The most common differences other than the ones above are:
- Add-on installers typically install fewer files than a regular installer, and install them in a folder that is derived from the main product's folder.
- Add-on installers usually have a visible uninstaller (so the user can remove the add-on through the Add/Remove Programs control panel applet), but update installers often have a hidden installer (only for use by the main product's uninstaller). See also Visible and hidden uninstallers.
- To ensure clean restoration of files that are updated by an update installer, you would typically set each file's Remove action to Restore original in the File attributes pane.
Recommended procedure
The recommended procedure to create an add-on or update installer is as follows.
- Create a new InstallMate project. Do not copy an existing .im9 file (and do not use File > Save Project As...) because the new installer must have its own, unique product GUID and component GUIDs.
- On the Product info project page, enter the desired basic information for the add-on.
- On the same page, check the Create Add-on installer box and enter the main product's GUID in the Main product GUID field. We recommend that you use copy and paste to transfer the main product GUID from the main product's installer project (you can open the main product's installer project in a separate instance of InstallMate Builder).
- Still on the same page, enter the main product's name or description in the Main product name field. This field is for information only; the name that you enter here is shown to the user if the add-on installer cannot find the main product.
- If desired, enter the minimum and maximum allowed version of the main product. See the documentation of the Product info project page for details about the syntax.
- On the Installer options project page, set the Uninstaller attribute to either Normal uninstaller or Hidden uninstaller. Do not use Don't register. See Visible and hidden uninstallers for more information.
- Add files and other installation items as per normal to the Program Files (32-bit)\<ProductName> folder as if this was the main product's installation folder. If any files replace the same files from the main product, then set their Remove action to Restore original in the File attributes pane.
- On the Actions project page, select the UIFirstInstall action sequence, then select the OptionsPage action, and change its Dialog name field from OptionsDlg to OptionsDlg2 (use the ... button to the right of the field to select that dialog box).
- On the Dialogs project page, select the OptionsDlg2 dialog box, then select the main edit control FolderEdit and check its Read-only box in the EditText attributes pane. Next, select the BrowseBtn button and clear the Enabled attribute in its PushButton attributes pane.
With these options, you can build your add-on installer. As with all installers, be sure to test it in various deployment scenarios before committing to large scale distribution.