Tactical Software Tech Note


All Tech Notes

Unattended Installation: Differences Between MSI and EXE Files

Tactical Software offers its installation programs in your choice of MSI and EXE files.

Updating Using EXE Files

EXE files are the preferred method for installing our software, as they are able to detect an existing version of the software and offer the user the option of uninstalling the existing product. MSI files do not have this ability and will instruct the user to use the Add/Remove Programs on the Control Panel to remove the existing product first.

In many situations, the EXE packaging combined with pre-configured command-line options would be sufficiently error-proof, especially if /qb is used.  The /qb option has the often-desirable effect of eliminating dialogs from the GUI that enable the user to override how the product is installed. 

The only problem with using the EXE arises when you need to deploy an unattended installation/upgrade.  There is no way to instruct the EXE to uninstall the existing version without first prompting the user. 

Updating using MSI files

To implement an unattended upgrade, you must deploy using the MSI file. Given this limitation, using the MSI file should only be done if you have the requirement that future installations be completely silent.

In a completely silent install, the installer is prevented from notifying the user of critical failure conditions such as a COM port in use by an application.  In this situation, the installation will simply do nothing, but there will be no notification that there was a problem.

The /fvams option tells the Windows Installer to treat the MSI file as an upgrade. For example, to replace the existing version of DialOut/EZ Site Edition with the version found in the MSI file, the user must specify the following command line:

msiexec /fvams DialOutEZSiteEdition.msi   

A silent upgrade command line would be:

 msiexec /q /fvams DialOutEZSiteEdition.msi

This technique has the following important limitations:

  • The EXE and MSI packaging cannot be mixed and matched if you intend to use /fvams at a later date.  If the product has been installed using the EXE, and then /fvams is attempted as the mechanism for upgrade, the installation will fail with an error.
  • The /fvams option cannot be used to perform a first-time installation of the product.  This could lead to complications when deploying to a large number of desktops where some of the desktops already have the software but others do not. 
  • The name of the MSI file specified via /fvams must be the same filename that was used to install the product originally.  This is why the version number of the product is not included in (and should not be added to) the filename of the MSI file.
  • The /fvams upgrade cannot be used to change the feature set (adding or removing the Documentation or Administrator Only Mode).