Next / Back Button Override: I am no GUI expert, in fact it is a neglected area (GUI is always suppressed for corporate deployment), but I believe something like this can work – redefining the Next and Back buttons – 3 dialogs involved:
<!-- 1. OldVersionDlg showing -->
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog"
Value="OldVersionDlg">LicenseAccepted = "1" AND PREVIOUSVERSIONSINSTALLED</Publish>
<Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog"
Value="OldVersionDlg">PREVIOUSVERSIONSINSTALLED</Publish>
<!-- 2. OldVersionDlg dialog not showing -->
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog"
Value="SetupTypeDlg">LicenseAccepted = "1" AND NOT PREVIOUSVERSIONSINSTALLED</Publish>
<Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog"
Value="LicenseAgreementDlg">NOT PREVIOUSVERSIONSINSTALLED</Publish>
Actual Dialog Sequences:
-
LicenseAgreementDlg
<->
OldVersionDlg
<->
SetupTypeDlg
-
LicenseAgreementDlg
<->
SetupTypeDlg
To be sure, remember to test in all installation modes: install
, upgrade
, repair
, modify
, patching
, uninstall
(and there are stranger shores such as resumed installs – rarely seen).
In closing: is this feature really necessary? I find that features like these often cause more bugs than benefits, but that is just a personal opinion. In fact I wrote an answer a long time ago on how to implement such an upgrade check without using setup dialogs.
Some Links:
- Changing text color to Wix dialogs (Customizing WiX GUI)
- Wix default folder dialog