Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   VDialer 3.9.7 (http://forum.oszone.net/showthread.php?t=62903)

e9990638 16-03-2006 23:38 418623

Sanja Alone
Пытался сделать установку VDialer.exe через Autoit-v3
Проблема вот в чем:
Создал скрипт VDialer.au3
PHP код:

Запрет на двойной запуск скрипта
If WinExists(@ScriptNameThen Exit
AutoItWinSetTitle(@ScriptName)
 
Пауза между нажатием клавиш 
AutoItSetOption
("SendKeyDelay"50)
 
Если скрипт засбоилв трее подведите мышку к иконке AutoIT скриптаи узнаетегде он 
 
застопроился
AutoItSetOption
("TrayIconDebug"1)
 
Проверка на уже установленную программу
If FileExists ( @ProgramFilesDir "\VDialer-3.9.7\VDialer3.exe" Then
    MsgBox 
(64,'Информация','Программа VDialer-3.9.7 уже стоит на Вашем компьютере. 
 
Удалите её и попробуйте снова.'
,7)
    Exit
EndIf
 
Запуск программы
Run
('VDialer3.9.7.exe')
 
Лицензионное соглашение
WinActivate 
('Лицензионное соглашение','Я принимаю')
WinWaitActive ('Лицензионное соглашение','Я принимаю')
Send("{ENTER}")
 
Директория установки
WinActivate 
('Директория установки',''
WinActive ('Директория установки',''
ControlSetText 'Директория установки','''Edit1', @ProgramFilesDir "\VDialer-3.9.7" )
ControlClick ('Директория установки','','Button1')
 
Установка
 
Программа установки
WinActivate 
('Программа установки','Программа VDialer3 успешно установлена')
WinWaitActive ('Программа установки','Программа VDialer3 успешно установлена'
;
ControlClick ('Программа установки','Программа VDialer3 успешно установлена','Button1')
Send("{ENTER}")
 
Закрыть группу запуска " VDialer3"
 
WinActivate ('VDialer3',''
WinClose ('VDialer3','')
 
 
Exit 

, рядом положил дистрибутив VDialer.exe.

Запускаю AutoIt3.exe выбираю VDialer.au3: полет нормальный
Компилирую VDialer.au3 при помощи Aut2Exe.exe, получаю VDsetup.exe
Запускаю VDsetup.exe: все нормально
Решил все это упаковать WinRAR.exe в самораспаковывающий архив, назвав его AVDialer.exe
Запускаю AVDialer.exe, стопорится процесс - активна папка, откуда запустил AVDialer.exe
Закрываю или сворачиваю папку - процесс идет и стопорится на строке:
PHP код:

Программа установки
WinActivate 
('Программа установки','Программа VDialer3 успешно установлена')
WinWaitActive ('Программа установки','Программа VDialer3 успешно установлена'
;
ControlClick ('Программа установки','Программа VDialer3 успешно установлена','Button1')
Send("{ENTER}"

Дальше все делать приходится вручную.
Подскажи как решить проблему?

Sanja Alone 17-03-2006 04:16 418675

e9990638
Цитата:

Подскажи как решить проблему?
  1. Везде перед WinActivate добавь WinWait (или оставь только WinWaitActive - это менее надежный вариант при шаловливых ручках), а то у тебя и без архива все через раз работать будет.
  2. Комментарий rar-sfx архива должны быть приблизительно такими:
    Код:

    Setup=VDsetup.exe
    TempMode
    Silent=1
    Overwrite=1

    (режимы Silent, Overwrite - на твой вкус)
  3. Запуск инсталляционного (да и любого другого, не находящегося в %PATH%) экзешника нужно осуществлять по полному пути. В данном сл.:
    Код:

    Run(@ScriptDir & '\VDialer3.9.7.exe')
  4. Проверь синтаксис самого скрипта - в этом коде есть ошибки ("застопроился", "Удалите её и попробуйте снова.',7)" - это хвосты от предыдущих строк). Для удобной проверки синтаксиса можешь использовать небольшой, но уч. удобный редактор SciTE (Ctrl+F5 - проверка синтаксиса, F4 - переход к след. ошибке).

Цитата:

WinActivate ('VDialer3','')
WinClose ('VDialer3','')
Нет нужды активировать окно перед его закрытием - здесь хватит и WinClose ('VDialer3').

e9990638 19-03-2006 13:01 419427

Sanja Alone
Спасибо


Время: 07:03.

Время: 07:03.
© OSzone.net 2001-