Как ожидать событие во время инсталляции
CreateInstall позволяет вам находить и закрывать процессы, удалять файлы, запускать приложения и ожидать окончания их работы во время установки приложения. Но может возникнуть ситуация, когда скрипт инсталляции не может точно определить наступление события. Например, вам необходимо дождаться когда пользователь закроет какое-то приложение. В этом случае, вы должны использовать цикл и делать необходимые проверки с определенным интервалом.
В данном примере мы сделаем следующие действия. Откроем приложение Блокнот, дождемся когда пользователь его закроет и продолжим установку. Затем создадим файл и продолжим установку только тогда, когда он будет удален. Мы решим каждую из этих двух задач разными методами.
Наличие запущенного процесса notepad.exe будем проверять с помощью команды Проверить, а сам цикл организуем с помощью команды Исходный код и функции Sleep. Интервал проверки укажем полсекунды и внутрь команды Исходный код вставим команду Проверить, которая присваивает переменной closed ноль, если процесс notepad.exe запущен. Код имеет такой вид:
do { Sleep( 500 ) $body$ } while !macrox_getint("closed")
Далее создадим файл c:\setups\delete.txt и остановим установку до тех пор, пока этот файл не будет удален. В этот раз мы обойдемся всего двумя командами Цикл ПОКА и Пауза. Команду цикла будем выполнять до тех пока существует созданный файл, а чтобы не загружать компьютер постоянной проверкой, вставим команду Пауза с интервалом полсекунды.
Проект - Ожидание события
Как видите, задача ожидания события в процессе инсталляции может быть реализована простыми способами.