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

Steve Ogilvie SOGILVIE at msn.com
Wed Feb 22 07:15:26 PST 2017


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





More information about the wix-users mailing list