我是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