[wix-users] HELP PLEASE!! multiple MSI's in previous version to single MSI, in new version, how to trigger upgrade? [P]
Steven Ogilvie
Steven.Ogilvie at titus.com
Wed Feb 22 12:39:22 PST 2017
Classification: Public
The weird thing is I see different things in my 32 bit MSI then in my 64 bit MSI
Depending which MSI is run first is what shows up in the MSI...
The one MSI I don't see as an "old app" is OLDAPPFOUND_TMC it is not show in either MSI, but I see the previous version Bootstrapper log and *only* the TMC MSI log from the previous version, then I have my 'new' bootstrapper log file and the 2 MSI's (I am installing in 64 bit OS with 32 bit OFFICE...
I had 7 MSI's 32 bit and 7 MSI's 64 bit which led to 2 MSI's created, the new MSI"s have 2 different upgrade codes, different product codes, same ver..
The previous 7 MSI's 32 and 64 but used the same upgrade codes with their 32 and 64 bit MSI's since you couldn't install both at the same time (32/64)
Now here is what happens when I 'upgrade' to my new version:
BTW replace BOB with TMC I was trying to 'hide' the client ....
64 bit MSI is run first:
Action start 14:57:02: FindRelatedProducts.
MSI (s) (84:0C) [14:57:02:762]: PROPERTY CHANGE: Adding OLDCLIENTAPPFOUND property. Its value is '{1383059F-BA65-4B30-A82A-EE242BF38643}'.
MSI (s) (84:0C) [14:57:02:777]: PROPERTY CHANGE: Adding OLDPLUGINAPPFOUND property. Its value is '{746E2D09-0401-472F-AAEB-4D84E979823C}'.
MSI (s) (84:0C) [14:57:02:777]: PROPERTY CHANGE: Adding OLDHEALTHMONITORAPPFOUND property. Its value is '{E0F9A11E-06DC-4386-97F4-3E08661D0796}'.
MSI (s) (84:0C) [14:57:02:777]: PROPERTY CHANGE: Adding OLDAPPFOUND_TCO property. Its value is '{EB831004-51B3-4D01-85BC-593B6413073C}'.
MSI (s) (84:0C) [14:57:02:777]: PROPERTY CHANGE: Adding OLDAPPFOUND_TCD property. Its value is '{C03C3560-A9A0-405A-A754-29586A76023A}'.
MSI (s) (84:0C) [14:57:02:777]: Skipping action: NEWAPPFOUND_TCD (condition is false)
MSI (s) (84:0C) [14:57:02:777]: Skipping action: NEWAPPFOUND_TCO (condition is false)
MSI (s) (84:0C) [14:57:02:777]: Skipping action: NEWAPPFOUND_TMC (condition is false)
MSI (s) (84:0C) [14:57:02:777]: Skipping action: SAMECLIENTFOUND (condition is false)
MSI (s) (84:0C) [14:57:02:777]: Skipping action: SAMEFOUND (condition is false)
MSI (s) (84:0C) [14:57:02:777]: Skipping action: SAMEHEALTHMONITORFOUND (condition is false)
MSI (s) (84:0C) [14:57:02:777]: Skipping action: SetMspReinstall (condition is false)
MSI (s) (84:0C) [14:57:02:777]: Doing action: AppSearch
Action ended 14:57:02: FindRelatedProducts. Return value 1.
32 bit MSI:
Action start 14:59:36: FindRelatedProducts.
MSI (s) (84:68) [14:59:36:343]: Skipping action: NEWAPPFOUND_TCD (condition is false)
MSI (s) (84:68) [14:59:36:343]: Skipping action: NEWAPPFOUND_TCO (condition is false)
MSI (s) (84:68) [14:59:36:343]: Skipping action: NEWAPPFOUND_TMC (condition is false)
MSI (s) (84:68) [14:59:36:343]: Skipping action: SAMECLIENTFOUND (condition is false)
MSI (s) (84:68) [14:59:36:343]: Skipping action: SAMEFOUND (condition is false)
MSI (s) (84:68) [14:59:36:343]: Skipping action: SAMEHEALTHMONITORFOUND (condition is false)
MSI (s) (84:68) [14:59:36:343]: Skipping action: SetMspReinstall (condition is false)
MSI (s) (84:68) [14:59:36:343]: Doing action: AppSearch
Action ended 14:59:36: FindRelatedProducts. Return value 1.
My MajorUpgrade in both new MSI's is: <MajorUpgrade DowngradeErrorMessage="A newer version of $(var.PlatformProductName) is already installed. Setup will now exit." Schedule="afterInstallValidate" AllowDowngrades="no"/>
<Property Id="OLDAPPFOUND" Secure="yes" />
<Property Id="SAMEFOUND" Secure="yes" />
<Property Id="PREVIOUSAPPFOUNDOLD" Secure="yes" />
<Property Id="OLDCLIENTAPPFOUND" Secure="yes" />
<Property Id="SAMECLIENTFOUND" Secure="yes" />
<Property Id="OLDPLUGINAPPFOUND" Secure="yes" />
<Property Id="SAMEPLUGINFOUND" Secure="yes" />
<Property Id="OLDHEALTHMONITORAPPFOUND" Secure="yes" />
<Property Id="SAMEHEALTHMONITORFOUND" Secure="yes" />
<Property Id="OLDAPPFOUND_TMC" Secure="yes" />
<Property Id="NEWAPPFOUND_TMC" Secure="yes" />
<Property Id="PREVIOUSAPPFOUND_TMC" Secure="yes" />
<Property Id="PREVIOUSAPPFOUND1_TMC" Secure="yes" />
<Property Id="PREAPPFOUND_TMC" Secure="yes" />
CompanyBaseVersion was the 1st version of this product line, i.e. 4.0.0.0
COMPANYClientServiceVersion is the current version of our client service EXE
COMPANYPluginsVersion is the current version of the main plugin DLL
COMPANYHMVersion is the current version of the HM EXE
TMCBaseVersion was the 1st version of this client i.e. 2.0.0.0
TMCVersion is the current version of the client main DLL
TMCMaxVersion is the same as TMCVersion
<!-- Client Services -->
<Upgrade Id="$(var.UpgradeCodeServices)">
<UpgradeVersion Property="OLDCLIENTAPPFOUND" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.COMPANYBaseVersion)" IncludeMaximum="no" Maximum="$(var.COMPANYClientServiceVersion)" />
<UpgradeVersion Property="SAMECLIENTFOUND" IncludeMaximum="yes" IncludeMinimum="yes" Minimum="$(var.COMPANYClientServiceVersion)" Maximum="$(var.COMPANYClientServiceVersion)" OnlyDetect="yes"/>
</Upgrade>
<!-- Plugins upgrade stuff -->
<Upgrade Id="$(var.UpgradePluginInCode)">
<UpgradeVersion Property="OLDPLUGINAPPFOUND" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.COMPANYBaseVersion)" IncludeMaximum="no" Maximum="$(var.COMPANYPluginsVersion)" />
<UpgradeVersion Property="SAMEPLUGINFOUND" IncludeMaximum="yes" IncludeMinimum="yes" Minimum="$(var.COMPANYPluginsVersion)" Maximum="$(var.COMPANYPluginsVersion)" OnlyDetect="yes"/>
</Upgrade>
<!-- Health Monitor Upgrade stuff -->
<Property Id="PREVIOUSVERSIONSINSTALLEDHM" Secure="yes" />
<Upgrade Id ="$(var.UpgradeCodeHM)">
<UpgradeVersion Property="OLDHMAPPFOUND" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.COMPANYBaseVersion)" IncludeMaximum="no" Maximum="$(var.COMPANYHMVersion)"/>
<UpgradeVersion Property="SAMEHMFOUND" IncludeMaximum="yes" IncludeMinimum="yes" Minimum="$(var.COMPANYHMVersion)" Maximum="$(var.COMPANYHMVersion)" OnlyDetect="yes"/>
</Upgrade>
<!-- TMC Upgrade stuff -->
<Upgrade Id="$(var.TMCUpgradeCode)">
<UpgradeVersion Property="OLDAPPFOUND_TMC" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.TMCBaseVersion)" IncludeMaximum="no" Maximum="$(var.TMCVersion)" />
<UpgradeVersion Property="NEWAPPFOUND_TMC" IncludeMaximum="yes" IncludeMinimum="yes" Minimum="$(var.TMCVersion)" Maximum="$(var.TMCVersion)" OnlyDetect="yes"/>
</Upgrade>
<Upgrade Id="$(var.TMCUpgrade)">
<UpgradeVersion Property="PREVIOUSAPPFOUND_TMC" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.TMCBaseVersion)" IncludeMaximum="no" Maximum="$(var.TMCMaxVersion)" />
</Upgrade>
<Upgrade Id="{previous GUID}">
<UpgradeVersion Property="PREVIOUSAPPFOUND1_TMC" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.TMCBaseVersion)" IncludeMaximum="no" Maximum="$(var.TMCMaxVersion)" />
</Upgrade>
<Upgrade Id="{previous older GUID}">
<UpgradeVersion Property="PREAPPFOUND_TMC" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.TMCBaseVersion)" IncludeMaximum="no" Maximum="$(var.TMCMaxVersion)" />
</Upgrade>
Ya I know pretty confusing...
Thanks,
Steve
This message has been marked as Public by Steven Ogilvie on February 22, 2017 3:39:20 PM. Classification provided by TITUS.
-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Edwin Castro
Sent: February 22, 2017 3:18 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] HELP PLEASE!! multiple MSI's in previous version to single MSI, in new version, how to trigger upgrade?
I do something similar but I don't have as many products to upgrade from. Here's what I do:
<MajorUpgrade AllowSameVersionUpgrades="$(var.AllowSameVersionUpgrades)"
DowngradeErrorMessage="$(var.DowngradeErrorMessage)"
MigrateFeatures="no" Schedule="afterInstallInitialize"/>
<Upgrade Id="$(var.PreviousUpgradeCode)">
<UpgradeVersion IncludeMinimum="no" IncludeMaximum="no"
Maximum="$(var.PreviousMaximumVersion)" MigrateFeatures="no"
Property="PREVIOUS_UPGRADE_DETECTED"/>
</Upgrade>
I did not have to add any additional Custom Actions to InstallExecuteSequence. MajorUpgrade adds RemoveExistingProducts in the desired spot but that's it.
On the surface it looks like your authoring is correct. What are you seeing in your verbose log?
You say WIX_UPGRADE_DETECTED is not being detected but your authoring doesn't use WIX_UPGRADE_DETECTED. It uses OLDAPPFOUND, OLDCLIENTAPPFOUND, OLDAPPFOUND_BOB, PREVIOUSAPPFOUND_BOB, PREVIOUSAPPFOUND1_BOB, and PREAPPFOUND_BOB. Are these properties set when those products exist on the target system?
--
Edwin G. Castro
On Wed, Feb 22, 2017 at 7:15 AM, Steve Ogilvie <SOGILVIE at msn.com> wrote:
> Hi folks,
>
>
> sigh, last minute issue that is stopping our release!
>
>
> I have a client installer that in previous versions were multiple MSI's now down 1 1 MSI...
>
>
> WIX_UPGRADE_DETECTED is not being detected of course because the upgradecode of the 'new' MSI is different than the previous MSI's, however I do have their upgrade elements in the new MSI:
>
>
>
> New MSI upgrade stuff:
>
> <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
> <Upgrade Id ="$(var.UpgradeCode)">
> <UpgradeVersion Property="OLDAPPFOUND" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.BaseVersion)" IncludeMaximum="no" Maximum="$(var.CoreVersion)"/>
> <UpgradeVersion Property="SAMEFOUND" IncludeMaximum="yes" IncludeMinimum="yes" Minimum="$(var.CoreVersion)" Maximum="$(var.CoreVersion)" OnlyDetect="yes"/>
> </Upgrade>
>
>
> 1 of the old MSI's:
>
> <!-- Client Services -->
> <Upgrade Id="$(var.UpgradeCodeServices)">
> <UpgradeVersion Property="OLDCLIENTAPPFOUND" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.BaseVersion)" IncludeMaximum="no" Maximum="$(var.ClientServiceVersion)" />
> <UpgradeVersion Property="SAMECLIENTFOUND" IncludeMaximum="yes" IncludeMinimum="yes" Minimum="$(var.ClientServiceVersion)" Maximum="$(var.ClientServiceVersion)" OnlyDetect="yes"/>
> </Upgrade>
>
> another older MSI:
>
> <!-- TMC Upgrade stuff -->
>
> <Upgrade Id="$(var.BOBUpgradeCode)">
> <UpgradeVersion Property="OLDAPPFOUND_BOB" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.BOBBaseVersion)" IncludeMaximum="no" Maximum="$(var.BOBMaxVersion)" />
> <UpgradeVersion Property="NEWAPPFOUND_BOB" IncludeMaximum="yes" IncludeMinimum="yes" Minimum="$(var.BOBVersion)" Maximum="$(var.BOBVersion)" OnlyDetect="yes"/>
> </Upgrade>
> <Upgrade Id="$(var.BOBUpgrade)">
> <UpgradeVersion Property="PREVIOUSAPPFOUND_BOB" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.BOBBaseVersion)" IncludeMaximum="no" Maximum="$(var.BOBMaxVersion)" />
> </Upgrade>
>
> <Upgrade Id="{A Really old GUID}">
> <UpgradeVersion Property="PREVIOUSAPPFOUND1_BOB" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.BOBBaseVersion)" IncludeMaximum="no" Maximum="$(var.BOBMaxVersion)" />
> </Upgrade>
>
> <Upgrade Id="{Another really old GUID}">
> <UpgradeVersion Property="PREAPPFOUND_BOB" IncludeMinimum="yes" OnlyDetect="no" Minimum="$(var.BOBBaseVersion)" IncludeMaximum="no" Maximum="$(var.BOBMaxVersion)" />
> </Upgrade>
>
> i have this:
>
>
> <!-- Custom Actions -->
> <CustomAction Id="SetMspReinstall" Property="REINSTALLMODE" Value="amus" />
> <UI>
> <ProgressText Action="SetMspReinstall">CA: Setting REINSTALLMODE to amus...</ProgressText>
> </UI>
> <CustomAction Id="NEWAPPFOUND_BOB" Error="A newer version of $(var.PlatformProductName) is already installed." />
> <UI>
> <ProgressText Action="NEWAPPFOUND_BOB">CA: Setting up NEWAPPFOUND...</ProgressText>
> </UI>
>
>
> <InstallExecuteSequence>
> <ResolveSource Before="CostFinalize"><![CDATA[Not Installed And Not PATCH]]></ResolveSource>
> <Custom Action="NEWAPPFOUND_BOB" After="FindRelatedProducts">NEWAPPFOUND</Custom>
> <Custom Action="NEWAPPFOUND_BOB2" After="FindRelatedProducts">NEWAPPFOUND</Custom>
> <Custom Action="NEWAPPFOUND_BOB3" After="FindRelatedProducts">NEWAPPFOUND</Custom>
> <Custom Action="SetMspReinstall" After="FindRelatedProducts">Installed</Custom>
> <RemoveExistingProducts Overridable="yes"
> After="InstallInitialize"/>
>
>
> What do I need to do to ensure the new MSI can find the other MSI's and realize it should be doing an upgrade??
>
> Steve
>
>
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
More information about the wix-users
mailing list