Wix - 如何发布'错误输入'对话框然后返回原始对话框?

时间:2012-04-04 19:16:12

标签: wix windows-installer

我有一个WiX设置,用户在安装UI中的常规(非模态)对话框中输入一个值(Java可执行文件的位置)。我调用自定义操作来验证该对话框条目,并正确地将环境变量(JAVA_ROOT_DIR_STATUS)设置为一个值(" 1"到" 6"用于错误," 0& #34;如果一切正常。)对话框的Publish序列执行SpawnDialog以显示错误消息(如果值不好),然后是同一控件中的NewDialog且条件值良好。根据我刚刚找到的一些文档(http://www.advancedinstaller.com/user-guide/edit-control-event-dialog.html),给定的控件只能有一个或者另一个 - 如果SpawnDialog和NewDialog都是在同一控件中,后者被使用而前者被忽略。

如何实现对用户值的检查以及错误消息说该值是坏的?我已经看到了做两个NewDialogs的建议(奇怪的是,它似乎确实有效,但意味着原始对话框不再显示,并且单行错误消息显示在与页面大小相同的页面中常规页面,看起来非常糟糕。

你会如何做一个弹出式的'在主要入口页面的顶部(如果值不好),但如果值很好,请转到下一页?

1 个答案:

答案 0 :(得分:2)

我想也许您提到的文档可能是关于拥有一个真实条件的SpawnDialog和NewDialog。我做了同样的事情你没有任何问题。

<Publish Dialog="CustomSetupTypeDlg" Control="TypicalButton" Event="NewDialog" Value="InstallDirDlg">CONDITION_OK</Publish>
<Publish Dialog="CustomSetupTypeDlg" Control="TypicalButton" Event="SpawnDialog" Value="WarningDlg">NOT CONDITION_OK</Publish>