Tactical Software Tech Note
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: