Вообщем такой трабл, при установке Agnitum Outpost Firewall выдает 2 окна с ошибками Microsoft Visual C++ Runtime Library. Я написал в скрипте функцию отлова этих окон с ошибками, но когда закрывается первое окно с ошибкой установка стопорится на Мастере Настройки, т.е дальше только вручную нажимать кнопки приходится. Посмотрите скрипт, мож че подскажите, или из-за чего такие ошибки вылетают, вроде библиотеки Си стоят.
СИНИМ выделено то, что добавил я, все остальное исходный скрипт от Sanja Alone
Код:

#cs
----------------------
Приложение: Agnitum Outpost
На какой(их) версии(ях) тестировалось: 3.5 (ru); 3.51 (ru)
Автор скрипта: Sanja Alone (http://forum.oszone.net/member.php?userid=28800)
----------------------
#ce
;предотвращение возможности множественного запуска скрипта
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
;блокируем мышь и клаву
;AutoItSetOption("TrayIconHide", 1)
;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки.
AutoItSetOption("TrayIconDebug", 1)
AutoItSetOption("SendKeyDelay", 15)
If ProcessExists ( "ps.exe" )<>0 Then
ProcessClose ( "ps.exe" )
ProcessWaitClose ( "ps.exe" )
EndIf
;нельзя блокировать при находящемся в памяти Punto Switcher-е - не будет работать установка
;блокируем мышь и клаву
;If @OSType="WIN32_NT" Then BlockInput ( 1 )
#cs
----------------------
объявление переменных
----------------------
$file - установочный файл
$serial - если имеете рабочий ключ, то введите его сюда
$programgroup - в какую программную группу положить ярлыки программы
$delfromautorun - удалить Outpost из автозапуска (1 - удалить (по ум.), любое другое значение - не удалять)
----------------------
#ce
Global $file='OutpostProInstall.exe', $serial='XXXXX', $programgroup='Agnitum Outpost Firewall', $delfromautorun=1
AdlibEnable("wfp",1000)
If FileExists ( @ProgramFilesDir & '\Agnitum\Outpost Firewall\outpost.exe' ) Then
MsgBox (64, 'Сообщение', 'Agnitum Outpost Firewall уже установлен', 5)
Exit
Else
Run ( @ScriptDir & '\' & $file & ' /LANG="ru" /NOAUTOUPDATE /NORESTART /VERYSILENT' )
EndIf
WinWait ( 'Мастер настройки' )
WinActivate ( 'Мастер настройки' )
WinWaitActive ( 'Мастер настройки' )
Send ( '{ENTER}' )
While ControlCommand ( 'Мастер настройки', '', '< &Назад', 'IsEnabled', '')=0
WEnd
WinActivate ( 'Мастер настройки' )
WinWaitActive ( 'Мастер настройки' )
;Далее
Send ( '{ENTER}' )
WinWait ( 'Ручная настройка' )
WinActivate ( 'Ручная настройка' )
WinWaitActive ( 'Ручная настройка' )
;Готово
Send ( '{ENTER}' )
#cs
----------------------
Крякнутые dll-ки и настройки программы поместите в самораспаковывающиеся архивы
settings.exe - настройки
opst_ui.exe - крякнутые dll-ки (если нет рабочего серийника)
команды SFX-сценария (для обоих архивов, winrar):
Path=Agnitum\Outpost Firewall
SavePath
Silent=1
Overwrite=1
----------------------
#ce
If WinWait("Microsoft Visual C++ Runtime Library") Then
WinActivate("Microsoft Visual C++ Runtime Library")
WinWaitActive("Microsoft Visual C++ Runtime Library")
Send("{ENTER}")
EndIf
If FileExists ( @ScriptDir & '\settings.exe' ) Then RunWait ( @ScriptDir & '\settings.exe' )
;регистрация
If $serial<>'' Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Agnitum\Outpost Firewall","Key","REG_SZ",$serial)
ElseIf FileExists ( @ScriptDir & '\opst_ui.exe' ) Then
RunWait ( @ScriptDir & '\opst_ui.exe' )
EndIf
;перенос ярлыков
DirCopy ( @ProgramsCommonDir & '\Agnitum\Outpost Firewall', @ProgramsCommonDir & '\' & $programgroup, 1 )
DirRemove ( @ProgramsCommonDir & '\Agnitum', 1 )
;отключить Автообновление
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Agnitum\Outpost Firewall\General","AutoUpdate","REG_DWORD",0x00000000)
;убрать Аутпост из автозапуска (если это было задано выше)
If $delfromautorun=1 Then
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Outpost Firewall")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "OutpostFeedBack")
EndIf
AdlibDisable()
;BlockInput ( 0 )
Exit
Func wfp()
If WinWait("Microsoft Visual C++ Runtime Library","") Then
WinActivate("Microsoft Visual C++ Runtime Library")
WinWaitActive("Microsoft Visual C++ Runtime Library")
Send("{ENTER}")
EndIf
EndFunc