动态取消安装罩中的预防



我正在使用installshield 2013 sp1。在对话框中,我在 Next pushtton上有以下解决方案:

Event     | Argument       | Condition
__________|________________|___________________________
NewDialog | CustomSetup    | CANCEL_NAVIGATION <> "1"
DoAction  | MyCustomAction | _IsSetupTypeMin = "Custom"

这个想法是MyCustomAction完成了其操作,然后如果应取消NewDialog事件,则将属性CANCEL_NAVIGATION设置为1。但是,在执行自定义操作之前对条件进行评估,因此,即使设置了CANCEL_NAVIGATION,无论如何都会产生新的对话框。

如果不可能以后评估条件,或以任何其他方式绕过此行为,例如在下一个对话框中执行另一个自定义操作,评估属性并重新启动第一个对话框。

禁用Next按钮不是一个选项,因为我对话框的行为是在按下Next时启动文件选择窗口(如果满足某些条件(,并且只有取消此对话框,则应导航到导航到下一个窗口。

我已经考虑在对话框启动文件选择对话框的对话框中添加一个按钮,但是这个答案不会被接受,因为我非常希望所描述的行为保持完整。

事实证明,我误解了解决方案的顺序。由于某种原因,我认为它们是从底部到顶部评估的,因为即使上面配置了NewDialog,也对我的DoAction进行了评估。切换线路解决了我的问题:

Event     | Argument       | Condition
__________|________________|___________________________
DoAction  | MyCustomAction | _IsSetupTypeMin = "Custom"
NewDialog | CustomSetup    | CANCEL_NAVIGATION <> "1"

最新更新