# What is a Major Upgrade?

A major upgrade effectively uninstalls any previous versions of a product as it installs the newer version. A major upgrade is appropriate for substantial product changes that modify the major version number of the product (such as upgrading 1.x versions of a product to version 2.0.0), but a major upgrade is required if the following are true:

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

- 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.

A major upgrade is essential when the product code changes. For example, whenever you delete a feature or component from your setup, you need to perform a major upgrade.