我修改了Wix的InstallDir对话框。我删除了许可协议并添加了我自己的对话框。我使用以下方式显示第一个对话框:
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="ExecuteAction"/>
</InstallUISequence>
对话框序列工作正常,但用户在最后一个对话框中单击“安装”时,对话框消失,应用程序静默安装,没有任何进度条。这不是WiX的InstallDir对话框集的默认行为。进度条必须存在。我想知道它为什么不显示。有什么想法吗?
答案 0 :(得分:3)
您正在安排显示WelcomeDlg,然后运行安装的ExecuteAction。因此,从不显示进度对话框。
答案 1 :(得分:2)
以下是我在设置模板中<InstallUISequence>
元素中的内容:
<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" />
您必须已从InstallUISequence中删除ProgressDlg,因此它不会显示。注意:ProgressDlg是无模式的,这意味着安装程序在创建对话框后获得控制权。 InstallSequence将进度消息发送到ProgressDlg以更新其状态。
答案 2 :(得分:1)
如果您正在修改标准MSI对话框,我相信您必须确保安排所有这些对话框以确保您的自定义UI正确显示。
答案 3 :(得分:0)
我必须完全删除这一行:
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="ExecuteAction"/>
</InstallUISequence>
之后一切正常!