A method and computer-readable medium for upgrading an application
program, and making an installer program aware that an application has
been upgraded is disclosed. The method recognizes that an upgrade to the
application has been initiated. The upgrade includes an identifier for
the application to be upgraded, as well as information required for the
installer to perform the upgrade. The installer program accesses the
upgrade information, which includes instructions necessary for installing
the upgrade. The installer program also accesses information related to
the installed state of the application and related applications. The
installer program determines whether or not the upgrade should be
performed. If the upgrade should be performed, the installer program
performs the upgrade and stores the fact that the application has been
upgraded. If the application should not be upgraded, the installer
program stores information reflecting the fact that the upgrade is
available but not installed.