2011-04-01 109 views
0

我修改了Wix的InstallDir对话框集。我已经删除了许可协议并添加了我自己的对话框。我使用显示的第一个对话框:无法看到进度对话框

<InstallUISequence> 
     <Show Dialog="WelcomeDlg" Before="ExecuteAction"/>   
    </InstallUISequence>  

对话序列工作得很好,只是当用户点击最后一个对话框上的“安装”,对话框消失,应用无提示安装,没有任何进度条。这不是WiX的InstallDir对话框集的默认行为。进度条必须存在。我想知道它为什么不显示。有任何想法吗?

回答

0

我不得不完全删除这一行:

<InstallUISequence> 
     <Show Dialog="WelcomeDlg" Before="ExecuteAction"/>   
    </InstallUISequence> 

之后一切正常!

3

您正在安排显示的WelcomeDlg,然后运行安装程序的ExecuteAction。所以进度对话框从不显示。

1

如果您正在修改标准MSI对话框,我相信您必须确保安排所有这些对话框以确保您的自定义用户界面正确显示。

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以更新其状态。