[wix-users] HELP PLEASE!! multiple MSI's in previous version to single MSI, in new version, how to trigger upgrade?

Edwin Castro egcastr at gmail.com
Wed Feb 22 12:18:04 PST 2017


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/


More information about the wix-users mailing list