User Guide

297
Preparing for Software Updates
Preparing for Software Updates
Preparing for updates starts when you ship the first version of your application. Use the
following steps to prepare for a software update:
1. Archive the Shipping Version of the .MSI on page 297.
2. Determine the Form of the Update on page 297.
3. Determine the Product Code and Product Version on page 298.
4. Check the Installation With UpgradeSync on page 298.
Archive the Shipping Version of the .MSI
This is the first step in preparing for an update.
Planning for the next software update should start when you ship the first version of
your application. To create an update, you must have access to previous versions of the
installation. Always archive the shipping installation in a place that is accessible. Even if
you compile and ship the installation as an .EXE, archive the .MSI, which is created
alongside the .EXE. If the installation included .CABs or other files, archive those also.
Determine the Form of the Update
This is the second step in preparing for an update.
An update can be a patch, an upgrade, or a reinstall. You can create both a patch and an
upgrade of the same installation. If you do not create a patch or an upgrade, your
update is a reinstall by default. You can also use command line options to cause an
upgrade to completely or partially reinstall. See Major Upgrades by Reinstalling the
Product in the Windows Installer SDK Help.
About Patches
! Can only update an existing application.
! Can update multiple previous versions to the current version.
! Can only update an application originally installed with Windows Installer technology.
! Are small, containing only the changes between the original and updated
applications.
! Are created with the Patch Creation tool; see Creating a Patch File on page 304.
! Allow little flexibility in customizing an update. Example: You cannot change feature
states, leave certain features installed, or perform custom actions based on the
version of the installed application.
About Upgrades
! Used when you make major changes to an installation.
! Update an existing application or install the entire application.
! Are at least as large as a stand-alone installation.
! Can update multiple versions of an installed application.
! After installing the new version, check for components of the previous version that
are no longer needed and remove them.
! Allow flexibility in customizing an update. Example: You can run custom actions and
specify features to leave on the destination computer based on what version is
already installed.