I have been wrestling with this problem for a few hors now, and I can't seem
to figure it out, or find any solid help.

I run my setup once and it install what it should and all is good.  Then I
change the version number and the product ID to cause a major upgrade.

When I run it again, I'd like to tell the user that we've found an older
version, and that we can upgrade this, or they can choose to cancel.  So I
made a new dialog and hacked it in after the standard license agreement
dialog.

But when I run it (second time, as upgrade), my new dialog never displays -
it always shows my "MySQLConfigDlg" dialog.

I have this code in my project.wxs file:

<!-- See if there's an older version out there and set
"OLDERVERSIONBEINGUPGRADED" if so. -->
<Upgrade Id="$(var.UpgradeCode)">
  <UpgradeVersion 
        Minimum="$(var.ProductVersion)" 
        OnlyDetect="yes" 
        Property="NEWERVERSIONDETECTED" />

  <UpgradeVersion 
        Minimum="0.0.0" Maximum="$(var.ProductVersion)"
        IncludeMinimum="yes" IncludeMaximum="no"
        Property="OLDERVERSIONBEINGUPGRADED" />
</Upgrade>

I am scheduling <FindRelatedProducts Before="LaunchConditions" /> in both
the InstallUISequence and the InstallExecuteSequence.

I have this code in my override of WixUI_InstallDir.wxs file:

The property i"MY_SQL_INSTALLED_BY_US" is set by the "DoAction" call to our
DLL always:

<Publish Dialog="LicenseAgreementDlg" 
     Control="Next" Event="DoAction" 
     Value="WeInstalledMySQL" 
     Order="1">
          1
     </Publish>

<!-- then if it is a upgrade, I want to show the our upgrade dialog... -->
<Publish Dialog="LicenseAgreementDlg" 
     Control="Next" Event="NewDialog" 
     Value="UpgradeDlg" 
     Order="2">
          OLDERVERSIONBEINGUPGRADED
     </Publish>

<!-- otherwise, if mysql already was installed, we need to display the
MySQLConfig dialog...-->
<Publish Dialog="LicenseAgreementDlg" 
     Control="Next" Event="NewDialog" 
     Value="MySQLConfigDlg" 
     Order="3">
          MYSQL_INSTALLED_BY_US = "0"
</Publish>

<!-- and fianlly, if we did install mysql, we dont ask questions about
config for that...we just go on to our "Next" dialog-->

<Publish Dialog="LicenseAgreementDlg" 
     Control="Next" Event="NewDialog" 
     Value="NextDlg" 
     Order="4">
          MYSQL_INSTALLED_BY_US = "1"
</Publish>

The result is that the upgrade dialog never displays.  I've uploaded the log
file if someone cares to look.  I'd appreciate it!  (I canceled the install
jsut after the problem to keep the log small).

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n5462729/install.log
install.log 

Thanks
Greg



-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Detecting-major-upgrade-problem-tp5462729p5462729.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to