Application Updates

MSIX deployment utilizes the concept of matching the Package Name, as referenced in the internal AppxMainifest.xml file, along with version numbers to enable good application upgrade and downgrade scenarios.


An upgrade package may be created using one of two methods:


Type

Description

Edit existing package

The original package can be opened for edit, modified, and saved using a higher Version Number. Currently, tooling vendors are supporting this scenario by using a strict editor, which prevents recapture of a traditional upgrade/patch installer. Edit scenarios involving recapture (similar to how it is done in the App-V Sequencer) is not precluded by the MSIX technology and may become available in the future as well.

New package

A completely new package can be created using the same Package Name as the original package and a higher Version Number.


When creating an upgrade package, some packaging tools use some form of file naming that involves the Package Name. Some include the Version Number in the package name by default and some do not. Care should be taken to properly identify the package filename so that each version is unique.


The MSIX installation methods in the OS will recognise a situation where a different version of the same Package Name is being installed. It is capable of performing both upgrade and downgrade operations.


By default, an upgrade or downgrade will cause the user preferences data to be retained. After installation of this version, the previously installed version will be removed for this user, and if no other user profile on the system has the previous version published it will be removed from the system completely.


Thanks to single-instance download and storage, there are significant performance benefits for a version installation. As these benefits are based on file block hashes, they should be roughly the same no matter which method for packaging the new version is used.