[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 12:47:10 PST 2017


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/


More information about the wix-users mailing list