Why does my LabVIEW Installer replace the wrong program?

Have you ever built an installer for your LabVIEW project and had it unexpectedly remove another installed application – or refuse to install because there’s a higher version already installed, and you know that’s not the case?

Both of these problems have the same root cause – multiple installers are using the same Upgrade Code. This is straightforward to fix, but leads to some very confusing behaviours if you don’t know what is going on

The Upgrade Code is a unique ID that is used by the MicroSoft Installer (MSI) to determine whether an installer is creating a completely new application installation, or upgrading an existing one. Any installers with the same Upgrade Code are assumed to be installing the same application, regardless of the file names or locations they actually modify

Creating a new LabVIEW project by copying and pasting an existing one will leave you with two projects using the same Upgrade Code, unless you update the code for the new project

To change the Upgrade Code, just open up the Build Specification for your installer and go to the Version Information tab. You will see the Upgrade Code at the bottom of the page – click on the Generate button to create a new one

Installer Properties dialog

Installer Properties

You might wonder why LabVIEW doesn’t automatically update the Upgrade Code on its own?

There are actually some good reasons to allow multiple installers to have the same Upgrade Code. For example you can create a full installer with all of the drivers and other required files bundled to do a complete installation from scratch, and also have a much smaller upgrade installer that just updates the executable and any support files that have changed – check out this post to see how


Subscribe to our newsletter

Did you find this post helpful? Sign up to the Lonely Ant newsletter to get more useful tips delivered directly to your mailbox

Unsubscribe at any time. I will not share your information with third parties.

* indicates required