Код:

$InstallPath=@ProgramFilesDir & "\MediaStudio"
; Проверка установленной программы, собсно это и хочется закоментировать и пойти другим путём.
If FileExists(@ProgramFilesDir & "\Ulead Systems\Ulead MediaStudio Pro 8.0\veditor.exe") Then Exit
; Тута не скажу что ставиться, секрет ;-
ShellExecute("****.exe", "/verysilent", "$ScriptDir")
Blockinput(1)
Run("Ulead MediaStudio Pro 8.0.exe")
WinWaitActive("", "Welcome")
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("", "License Agreement")
ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
WinWaitActive("", "Choose Destination Location")
ControlClick("", "", "[Class:Button; Instance:3]", "left", 1)
Send($InstallPath)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
Sleep(800)
Send("{BS 32}")
Send($InstallPath & "\Preview")
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:3]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:6]", "left", 1)
Sleep(200)
ControlClick("", "", "[Class:Button; Instance:9]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("", "InstallShield Wizard Complete")
ControlClick("", "", "[Class:Button; Instance:4]", "left", 1)
Blockinput(0)
Вопросы:
1. Если установленна уже была программа, то при повторной установке откроется MsgBox с заголовком
"Uninstall blah-blah?" и двумя(ми) кнопкоми Yes, No. Довольно частая ситуация, хотелось бы какой нибудь
код предпринять, чтоб напр. Uninstall нажать. Но я не знаю что в If Then... EndIf вписать, подскажите?
Я пробовал так
Код:

Run("Ulead MediaStudio Pro 8.0.exe")
If
WinWaitActive("Uninstall", "") = 0 Then
....
else
ControlClick("", "", "[Class:Button; Instance:4]", "left", 1)
EndIf
не получается...
Как кстати указать чтоб все ошибки репортировались? Потому что в данном случае ошибки были, но молча было

2. Что меня удивило тут, то что Sleep действительно нужен! Иначе в многих местах не срабатывает и появляются пропуски... Но почему? Приложение большое - 128 мег, может от этого? Или тут какие-то спецэффекты в окнах. Я помню Sleep не использовал раньше вообще, или лучше всегда и везде так подстраховывать? Хотя я думаю лучше "быстрее" установить чем во время Sleep какоенить посторонее окно может выскочить?

3. Как правильно очищать поле ввода [C:\Program Fils\MyApp] ? Его бы выделить сначала, для уверенности,
но как-то всё коряво получается, того и гляди слетит.... Всё что у меня ума хватило это вбивать Send("{BS 32}")
Но зафокусировать поле ввода вообще не знаю как. ? Пожалуста отвечайте кодом, ато я в хелпе потеряюсь совсем...