Home > Blogs > VMware ThinApp Blog

Upgrade a deployed ThinApp package with the help of MSI.

It is mentioned in our manual but since I am getting a lot of question regarding this subject I thought I might as well post the answer here.

When it comes to using MSI and usage of a deployment tool (ESD) to update a ThinApped application is there three parameters being used. You find them under [BuildOptions] in the MSI Parameters section of package.ini.

The MSIProductVersion parameter specifies a product version number for the MSI database to
facilitate version control. This version number is unrelated to the application version or the ThinApp version.

ThinApp assigns an initial version of 1.0. This version appears in the properties of the database.
When you deploy a package to a machine that already has the package installed, Windows Installer
checks the version numbers and blocks the installation of an older version over an updated version.
In this situation, you must uninstall the new version.

You can change the value of the MSIProductVersion parameter when you change the MSI package. A value of 2.0 causes ThinApp to uninstall a 1.0 version of the package and install the 2.0 version of the package

The MSIProductCode parameter specifies a product code for the MSI database. Windows Installer
uses the code to identify MSI packages.

The MSIUpgradeCode parameter specifies a code for the MSI database that facilitates updates. When two packages, such as the version 1.0 package and the version 2.0 package, have the same upgrade code, the MSI installer detects this link, uninstalls the earlier package, and installs the updated
The capture process generates a random upgrade code based on the inventory name. To ensure that the MSI database versions have the same upgrade code, keep the same inventory name across
versions of the MSI wrapper.


Here is an example of the settings in two different package.ini . One is Mozilla Firefox version 2 and the other is Mozilla Firefox 3. Running the Mozilla Firefox 3 MSI file will uninstall Mozilla Firefox 2 and then install Mozilla Firefox 3 on the client. Notice that MSIUpgradeCode are the same in both files.

Mozilla Firefox 2
;——– MSI Parameters ———-
;Enable MSIFilename if you want to generate a Windows Installer package.
MSIFilename=Mozilla Firefox.msi

Mozilla Firefox 3
;——– MSI Parameters ———-
;Enable MSIFilename if you want to generate a Windows Installer package.
MSIFilename=Mozilla Firefox.msi

This entry was posted in MSI on by .
Peter Bjork

About Peter Bjork

Peter Bjork is a Senior Staff Architect, Technical Marketing at VMware. He specializes in Identity and Access Management. He's widely appreciated as a speaker at events like VMworld, VMUG and vFORUM. He is the author of two books as well as numerous white papers and blog posts. When the work day is over, Peter volunteers as a Scout leader for the local Sea Scout troop outside Stockholm, Sweden. Twitter: @thepeb.