Reputation: 735
I am using wix3.8 and in my install MSI, i need InstallScopeDlg which is only available using WixUI_Advanced, however I do not the first dialog which is the license agreement.
I have seen a lot of posts on how to skip (or not display) that dialog BUT they are all using WixUI_InstallDir which does not support InstallScopeDlg.
This is what I have:
<Property Id="ApplicationFolderName" Value="Outlook Add In" />
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
<UI Id="UiSequence">
<UIRef Id="WixUI_Advanced" />
</UI>
Can anyone please show me how to hide or skip the license agreement while still using WixUI_Advanced.
Upvotes: 3
Views: 1970
Reputation: 55601
You need to understand that the way Windows Installer flows from dialog to dialog is through the use of NewDialog ControlEvents. Basically Dialog 1 will have a Next PushButton Control with a NewDialog Control Event that says goto dialog 2. Dialog 2 will then have a Back Button that says go to Dialog 1. The WiX UI extension hides all this from you in an attempt to make it easy to create a basic UI. However, you can see it if you edit the built MSI using ORCA and look at the ControlEvent table.
The ControlEvent table has an Ordering column. The MSDN doco doesn't really explain this correctly but it's not really an order so much as it is a priority. Highest that evaluates to true wins.
In WiX, the Publish element corresponds to ControlEvent entries. The trick is to author NewDialog control events on the correct controls to out rank the existing entries and bypass the undesired dialog or to insert a new dialog.
An example of how to do this can be found here in the code of my open source project ISWIX.
Upvotes: 2