[wix-users] HELP PLEASE!! multiple MSI's in previous version to single MSI, in new version, how to trigger upgrade? [P]
Edwin Castro
egcastr at gmail.com
Wed Feb 22 13:02:02 PST 2017
I was asking if perhaps you were testing on a 64-bit OS that had old
64-bit MSIs installed and trying to install a new 32-bit MSI? I think,
in this case, the 32-bit MSI will not detect the installed 64-bit
MSIs.
But if you are testing on a 32-bit OS with old 32-bit MSIs installed
and trying to install a new 32-bit MSI, then I'm not sure what is
going on yet as I would expect this scenario to work.
In our case, we use a burn bootstrapper to ensure we're always
installing 64-bit MSIs on 64-bit OS and 32-bit MSIs on 32-bit OS.
Our setup was similar to yours where we had a single old 64-bit MSI
and old 32-bit MSI sharing an upgrade code. I switched it so that the
new MSIs had different upgrade codes just like you have. We're not
seeing problems when installing new 32-bit MSI on 32-bit OS with old
32-bit MSI.
--
Edwin G. Castro
On Wed, Feb 22, 2017 at 12:53 PM, Steven Ogilvie
<Steven.Ogilvie at titus.com> wrote:
> Classification: Public
>
> Nope
>
> Like I said the 'old' 32/64 bit MSI's used the same upgradecode of the 6 MSI's
>
> So in the new MSI's the check for the 'old' MSI's the same upgrade code for each of the 6 MSI's are the same upgradecodes in the 32 bit MSI and the 64 bit MSI of the new installer...
>
>
> This message has been marked as Public by Steven Ogilvie on February 22, 2017 3:53:57 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:47 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? [P]
>
> Out of curiosity, are you trying to detect old 64-bit packages in the new 32-bit package? I don't think that will work...
>
> --
> Edwin G. Castro
>
>
> On Wed, Feb 22, 2017 at 12:39 PM, Steven Ogilvie <Steven.Ogilvie at titus.com> wrote:
>> 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/
>>
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant
>> http://www.firegiant.com/
>
> ____________________________________________________________________
> 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