Recently I also faced similar kind of situation where I need to exclude showing WelcomeDlg. Our idea was to create a custom license agreement dialog as the first dialog of the UI.
In order to achieve that behavior, following changes have been made.
- Created a new wxs dialog with id "AdvancedWelcomeEulaDlgEx" which shows the EULA, checkbox to accept and Next button.
In this dialog's InstallUISequence, added the following line.
<InstallUISequence>
<Show Dialog="AdvancedWelcomeEulaDlgEx" Before="ProgressDlg">NOT Installed</Show>
</InstallUISequence>
Suppress the WelcomeDlg from showing. We used an approach like below in main UI fragment (Condition ensures that it won't show in normal case; In our case Installed and Patch case never happens as it is the way it handled)
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="AdvancedWelcomeEulaDlgEx" >Installed AND PATCH</Show>
</InstallUISequence>
You can check out this link which explains a similar kind of approach.
Basically the idea is to suppress the Welcome dialog and use the next dialog or custom dialog as initial one. Also, the Publish events of Next and other dialog's events should be rewired accordingly.
setup.exe
, or you can modify the actual GUI. Here is a sample (in zip format). - Stein Åsmul