我正在使用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"