The Windows Installer provides three different ways to distribute updates.
Major upgrades are the easiest upgrades to implement and provide the most flexibility. These two facts make major upgrades the recommended way to distribute most updates to your application.
Major upgrades require the
Product/@Id to change and the
Product/@Version should increment (although it is technically possible to do major upgrades without incrementing the version number it is not recommended).
Note: While it is possible to deliver a major upgrade via a patch package it is not recommended.
Minor upgrades are limited in the changes that can be made to the package. For example, Components cannot be removed during a minor upgrade. Therefore, minor upgrades are only really useful to refresh the files of previous install.
Minor upgrades require that the
Product/@Id does not change and that the
Product/@Version increments. If the
Product/@Version is not modified in a minor upgrade it is called a small update; described below.
Note: Minor upgrades require extra command-line parameters to be provided to the Windows Installer. Thus minor upgrades are best distributed as patch packages or as part of a Bundle (Burn will automatically apply the necessary command-line switches when necessary).
Small updates are the same as minor upgrades but the
Product/@Version does not change. There is significant value in the version being updated when diagnosing what software is on a customer's machine so small updates are discouraged.