Я использую InstallShield 2013 SP1. В диалоговом окне у меня есть следующие ControlEvents на Next
Кнопка:
Event | Argument | Condition
__________|________________|___________________________
NewDialog | CustomSetup | CANCEL_NAVIGATION <> "1"
DoAction | MyCustomAction | _IsSetupTypeMin = "Custom"
Идея состоит в том, что MyCustomAction
делает свое дело, а затем устанавливает свойство CANCEL_NAVIGATION
в 1
, если событие NewDialog
должно быть отменено. Однако условия оцениваются перед выполнением пользовательского действия, поэтому даже если установлено значение CANCEL_NAVIGATION
, новое диалоговое окно все равно создается.
Если впоследствии невозможно оценить условие или каким-либо образом обойти это поведение, используйте другое решение, например, выполните другое настраиваемое действие в следующем диалоговом окне, оценивая свойство и перезапустив первое диалоговое окно.
Отключение кнопки Next
не вариант, так как в моем диалоговом окне запускается окно выбора файла при нажатии Next
(если соблюдены определенные условия), и только если это диалоговое окно отменено, поэтому следует перейти к следующему окну.
Я рассмотрел вопрос о добавлении кнопки в диалоговое окно, запускающее диалог выбора файла, но этот ответ не будет принят, так как я бы предпочел, чтобы описанное поведение не изменилось.