The Upgrades view provides a visual, integrated method for adding and authoring settings within the MSI Upgrade table.

To add an upgrade item, right-click the Upgrade Windows Installer Setup node. The following items are available from the context menu:

- Add Automatic Upgrade Item
- Add Minor Upgrade Item
- Add Major Upgrade Item
- Validate All Items

## Automatic Upgrade Item

This is the preferred method for configuring upgrade settings. This option takes into account any potential future changes in the product code and handles both major and minor upgrades. If you do not know the difference between upgrade types and/or do not care, then choose this upgrade option.

When you add an automatic upgrade item, the build engine determines which settings need to be populated into your setup to perform a successful upgrade of your previous setup. This option does not require any additional authoring of advanced settings on your part.

## Minor Upgrade Item

Small and minor upgrades are functionally identical except the product version does not change for a small upgrade. A minor upgrade installs over an existing application while a major upgrade effectively uninstalls the existing installation of a product, and then installs the newer product version.

The functionality required to install a minor upgrade is in Setup.exe, which you must include in order for a minor upgrade to work properly. The setup specified at build time will also be used to perform upgrade validation. The build will also verify that the referenced setup can indeed be updated using a minor upgrade. Note that the build will warn you if you do not include Setup.exe when you build your release.

## Major Upgrade Item

A major upgrade will effectively uninstall the existing installation of a product, and then install the latest product version. A major upgrade is appropriate for substantial setup architecture changes that may or may not change the major version number of the product (such as upgrading version 1.1.0 to version 2.0.0). A major upgrade is required if any of the following are true:

- The upgraded project contains new components in existing features. (This restriction does not apply to Windows Installer version 2.0 or later.)

- An existing component's Component Code property has changed, or a component has been removed from the product tree.

- An existing feature has been moved in the product tree, or deleted from the product tree.

- The name of the MSI file has changed.

## Validate All Items

This option allows you to perform validation on the latest release or browse for a particular package to validate against a different release.

You can individually validate automatic and minor upgrade items when you right-click the item and then click Validate Item.

Whenever you make changes in the Upgrades view, remember to rebuild your package before performing validation to ensure that you get helpful results from validation.