can't see the progress dialog
I've modified Wix's InstallDir dialog set. I've removed the licence agreement and added my own dialog. I show the first dialog using:
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="Execute开发者_StackOverflow社区Action"/>
</InstallUISequence>
The dialog sequence works fine except that when the user clicks "install" on the last dialog, the dialog disappears and the application installs silently, without any progress bar. This is not a default behaviour of the WiX's InstallDir dialog set. The progress bar must be present. I wonder why it isn't displayed. Any ideas?
You're scheduling WelcomeDlg to be shown, then ExecuteAction, which runs the install. So the progress dialog is never shown.
Here's what I have in the <InstallUISequence>
element in my setup template:
<Show Dialog="PrepareDlg" After="LaunchConditions" />
<Show Dialog="WelcomeDlg" After="MigrateFeatureStates">NOT Installed</Show>
<Show Dialog="ResumeDlg" After="WelcomeDlg">Installed AND (RESUME OR Preselected)</Show>
<Show Dialog="MaintenanceWelcomeDlg" After="ResumeDlg">Installed AND NOT RESUME AND NOT Preselected</Show>
<Show Dialog="ProgressDlg" After="MaintenanceWelcomeDlg" />
You must have removed ProgressDlg from InstallUISequence, and therefore it does not show up. Note: ProgressDlg is modeless, which means the installer gets control back after creating the dialog. InstallSequence sends progress messages to ProgressDlg to update its status.
If you're modifying the standard MSI dialogs, I believe you have to make sure to schedule all of them to ensure your custom UI displays properly.
I had to completely remove this line:
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="ExecuteAction"/>
</InstallUISequence>
After that everything worked fine!
精彩评论