[wix-users] Upgrade Variable

Phill Hogland phill.hogland at rimage.com
Tue Nov 15 11:26:28 PST 2016

I'm sure that the UpgradeCode could be used (if that is what gets passed into DetectRelatedBundleArgs e.productcode).  I have not checked that and it was not obvious to me from the wix documentation when I was implementing this code, whereas e.BundleTag is clearly documented and in my mind more readable.

The more important reason that I use bundle/@tag, is based on how I structured my dependency injection.  I name the BundleTag the same as my class which defines my Model (in MVVM), derived from a base model class which implements the common domain related behavior.  I use a single mba dll for many bundles, and I use the BundleTag from the bootstrapperData.xml to indicate which Model and View classes should be added to my IoC for use by DI.  The DI needs to be configured before the wix engine is dispatched, which is why I do not us the Burn variable to get the BundleTag in this situation.  So since I start by detecting the BundleTag, and I define my Model based on it, then in places were behavior differentiates I use overridden methods in the derived Model to implement the behavior change and the View binds to properties to hide pieces of the View not related to the detected bundle.
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of John Cooper <JoCooper at jackhenry.com>
Sent: Tuesday, November 15, 2016 11:00:26 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Upgrade Variable

Good suggestion.  I check for MajorUpgrade in my DetectRelatedBundle handler, and I have a Bundle at Tag set for each bundle, but I'm not checking the Tag.  All my products have different upgrade codes.  Other than paranoia factor, what is checking the Tag buying me?

John Merryweather Cooper
Senior Software Engineer -- Integration Development Group -- Enterprise Notification Service
Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Office:  913-341-3434x431050
JoCooper at jackhenry.com

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Tuesday, November 15, 2016 8:18 AM
To: wix-users at lists.wixtoolset.org
Subject: Re: [wix-users] Upgrade Variable

The e-mail below is from an external source.  Please do not open attachments or click links from an unknown or suspicious origin.

The way I do this is:

1) I author each bundle with a bundle/@tag .

2) In DetectRelatedBundle handler, if e.Operation is ReleatedOperation.MajorUpgrade and e.BundleTag is the tag for this bundle, then I set a property in my model to indicate that I am doing a Major Upgrade.

I have not had any reason to modify WixStandardBootstrapperApplication.cpp so I am not sure I follow that comment.  If not using a custom ba, but using the WixStdBA I would look at parsing the raw command line string in a bafunctions.dll, although I have not done this for several years, and don't recall if it would lead to a solution.

From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Collin Perschon <collin.perschon at fidelissecurity.com>
Sent: Monday, November 14, 2016 6:00:36 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Upgrade Variable


I am trying to determine if my custom bootstrapper application is in a MajorUpgrade or an Install.  I looked through the Burn Built-in variables and thought that maybe WixBundleAction or WixBundleInstalled would be the ticket.  However they both return (5 and 0) respectively for both my install and upgrade environments.  So far the only file I have modified is the WixStandardBootstrapperApplication.cpp to add a an extra options page.  IE:

EULA > Options / Install

I would like it to go this way for an upgrade:

EULA > Upgrade Detected > Options / Install.

The reason is that we want to prompt the user for some information that will help make their life easier for running the application after the upgrade.  It isn't required information, but it will save the user a lot of time ( and potential headaches ) if they provide it before we upgrade.  I've already added an "advanced options" page, so adding a new page won't be an issue.  I'm just kind of lost on how to determine if I'm in an upgrade or not.



So, I'm currently in the install.  I'm wondering why I didn't get to UPDATE_REPLACE for upgrade.  (Perhaps it is because I'm doing major upgrades which is uninstall / install? )

If anyone can point me in the right direction I would really appreciate it.

Thanks so much,


WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

NOTICE: This electronic mail message and any files transmitted with it are intended
exclusively for the individual or entity to which it is addressed. The message,
together with any attachment, may contain confidential and/or privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or distribution
is strictly prohibited. If you have received this message in error, please
immediately advise the sender by reply email and delete all copies.

WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

More information about the wix-users mailing list