2011-04-01 99 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以更新其狀態。