我是WiX的新手,並嘗試通過添加新對話框來自定義對話框隊列。新對話框的名稱是ServerChoice和流程是:WiX中的新對話框,點擊返回跳過對話框
SetupTypeDlg < - >完整或典型< - > ServerChoice < - > VerifyReadyDlg
或
SetupTypeDlg < - >自定義< - > CustomizeDlg < - > ServerChoice < - > VerifyReadyDlg
唯一的問題是在VerifyReadyDlg的第一種情況。 「返回」將我帶到SetupTypeDlg並跳過ServerChoice,儘管在第二個流程中它可以根據需要運行。
來源:
<UI>
<DialogRef Id="ServerChoice" />
<Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="NewDialog" Value="ServerChoice">1</Publish>
<Publish Dialog="SetupTypeDlg" Control="CompleteButton" Event="NewDialog" Value="ServerChoice">1</Publish>
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="ServerChoice">1</Publish>
<Publish Dialog="ServerChoice" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="ServerChoice">1</Publish>
<Publish Dialog="ServerChoice" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">WixUI_InstallMode = "InstallCustom"</Publish>
<Publish Dialog="ServerChoice" Control="Back" Event="NewDialog" Value="SetupTypeDlg" Order="2">WixUI_InstallMode = "InstallTypical" OR WixUI_InstallMode = "InstallComplete"</Publish>
<Publish Dialog="ServerChoice" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="3">WixUI_InstallMode = "Change"</Publish>
<Publish Dialog="ServerChoice" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="4">WixUI_InstallMode = "Repair" OR WixUI_InstallMode = "Remove"</Publish>
</UI>
一些幫助的新手? :)
在我看來,這裏有一些缺失的信息。如果您還包含WiX提供的發佈條目,則會有2個發佈條目用於VerifyReadyDlg後退按鈕。您可以嘗試使用Orca或InstEdit查看MSI的ControlCondition表,或者使用Wix的dark.exe來反編譯MSI並查看生成的WiX文件,以確保您沒有VerifyReadyDlg後退按鈕的多個事件。 – 2010-11-17 16:14:25
感謝您的回覆。似乎你是對的,我發現以下內容: VerifyReadyDlg |返回| NewDialog | SetupTypeDlg | WixUI_InstallMode =「InstallTypical」或WixUI_InstallMode =「InstallComplete」 和 VerifyReadyDlg |返回| NewDialog | ServerChoice | 1 如何使用WiX刪除第一個? – Cyril 2010-11-18 09:09:26
grrr ...不能作爲代碼出來。我應該使用哪個標籤?去閱讀手冊... – Cyril 2010-11-18 09:16:22