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

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

e9990638 03-02-2006 17:27 402268

У меня проблема с автоустановкой VFHome-5.4.18.exe (Вента Факс), т.е. по окончании установки запускается папка с группой (ярлыков). Как это отключить?


Спасибо.

boss911 03-02-2006 17:56 402269

e9990638

Цитата:

т.е. по окончании установки запускается папка с группой (ярлыков). Как это отключить?
По мне так выход один, если конечно сильно нужно, прибить процес всего Explorer'a:
Код:

TASKKILL.EXE /F /im Explorer.exe

e9990638 03-02-2006 23:00 402270

В результате исчезло все с рабочего стола, кроме обоев.
Может что-нибудь другое?

Vovanchik 03-02-2006 23:51 402271

а потом
Код:

explorer.exe
и все опять появиться...
)))

вот так в конечном варианте это должно выглядеть
Код:

TASKKILL.EXE /F /im Explorer.exe
Explorer.exe


e9990638 04-02-2006 19:30 402272

Спасибо, эта часть проблемы решена.
Осталось следующая - "тихая установка" и "тихая" регистрация.
В этой программе есть файл setup.ini.

e9990638 21-02-2006 22:31 409261

Привет всем.
Так может ли кто подсказать как установить "втихую" VFHome-5.4.18.exe (Вента Факс) с регистрацией в нем?
Спасибо за помощь.

DenchikK 10-03-2006 01:18 415869

А через AutoIT - не выход? Если хотите - могу выложить.

e9990638 11-03-2006 23:31 416671

DenchikK
Очень хочу, только для меня AutoIT - абракадабра.
Пробовал сам разобраться в программе, не получилось.
Буду очень признателен за помощь в установке "VFHome-5", ну если не трудно и в работе на AutoIT, (думаю достаточно будет на примере "VFHome-5", только с подробностями.)

DenchikK 12-03-2006 04:55 416734

e9990638

Тренироваться на основе этого скрипта будет трудно, так как каждое окно видется AutoIT почти одинаково, и я выёживался, как мог.
У меня по простяцки сделано, если хотите, можете попросить мегабизона по AutoIT - SanjaAlone написать более навороченный скрипт.
Про обилее пауз (sleep (500)) - чисто для себя делал - не люблю, когда окна мелькают.
Так же я не делаю блокировку клавиатуры (не нравится мне эта мера) и отключение Punto Switcher (в сём скрипте это ни к чему)
Вот готовый мой (простенький) скрипт, работает у меня и моих друзей на версии 5.70 Home под WinXP Rus:

Код:

; Запрет на двойной запуск скрипта
If WinExists(@ScriptName) Then Exit
 
; Пауза между нажатием клавиш
AutoItSetOption("SendKeyDelay", 50)
 
; Если скрипт засбоил, в трее подведите мышку к иконке AutoIT скрипта, и узнаете, где он застопроился
AutoItSetOption("TrayIconDebug", 1)
 
; Проверка на уже установленную программу
If FileExists ( @ProgramFilesDir & "\Venta\VentaFax & Voice 5\ventafax.exe" ) Then
        MsgBox (64,'Информация','Программа VentaFax уже стоит на Вашем компьютере. Удалите её и попробуйте снова.',7)
        Exit
EndIf
 
;Запуск программы
Run('vfvh57.exe')
 
;Выбор русского языка
WinWaitActive ('Установка Venta Fax','')
ControlCommand ( 'Установка Venta Fax', '', 'TComboBox1', 'SelectString', 'Russian' )
Sleep (500)
ControlClick ('Установка Venta Fax','','TButton3')
 
WinWaitActive ('Установка Venta Fax','Согласен')
Sleep (500)
ControlClick ('Установка Venta Fax','Согласен','TButton2')
Sleep (500)
ControlClick ('Установка Venta Fax','Согласен','TButton5')
 
WinWaitActive ('Установка Venta Fax','Далее')
Sleep (500)
ControlClick ('Установка Venta Fax','Далее','TButton5')
 
WinWaitActive ('Установка Venta Fax','Добавить значок на панель')
Sleep (500)
ControlCommand ( 'Установка Venta Fax', 'Добавить значок на панель', 'TCheckBox1', "UnCheck", "" )
Sleep (500)
ControlCommand ( 'Установка Venta Fax', 'Добавить значок на панель', 'TCheckBox2', "UnCheck", "" )
Sleep (500)
ControlCommand ( 'Установка Venta Fax', 'Добавить значок на панель', 'TCheckBox3', "UnCheck", "" )
Sleep (500)
ControlClick ('Установка Venta Fax','Добавить значок на панель','TButton7')
 
WinWaitActive ('Установка Venta Fax','Выбрать все')
Sleep (500)
ControlClick ('Установка Venta Fax','Выбрать все','TButton7')
 
WinWaitActive ('Установка Venta Fax','Установить')
Sleep (500)
ControlClick ('Установка Venta Fax','Установить','TButton7')
 
; Если расскоментировать строчку - Venta не запуститься
WinWaitActive ('Установка Venta Fax')
;ControlCommand ( 'Установка Venta Fax', '', 'TCheckBox11', "UnCheck", "" )
Sleep (500)
ControlClick ('Установка Venta Fax','','TButton7')
 
Sleep (500)
 
WinWaitActive ('Venta Fax & Voice','Зарегистрировать сейчас!')
ControlClick ('Venta Fax & Voice','Зарегистрировать сейчас!','TBitBtn6')
 
; Регистрация. Обращаю внимание на то, что серийник вводится по-другому, нежели чем имена.
; Сделано это из-за того, что Venta иногда вылетает при помещении текста в ячейку s/n
; Так же я не стал отдельно делать переменные для регистрационных данных, так как в этом скрипте не вижу для этого необходимости.
WinActivate ('Регистрация','')
Sleep (500)
ControlSetText ( 'Регистрация','', 'TEdit2', "TDS" )
Sleep (500)
ControlSetText ( 'Регистрация','', 'TEdit1', "2000" )
Sleep (500)
Send ('{TAB 2}')
Send ('3308-16628199248-2488')
;ControlSetText ( 'Регистрация','', 'TEdit3', "3308-16628199248-2488" )
Sleep (500)
ControlClick ('Регистрация','','TBitBtn2')
 
WinWaitActive ('Information')
ControlClick ('Information','','TButton1')
 
WinWaitActive ('ВНИМАНИЕ!')
ControlClick ('ВНИМАНИЕ!','','TBitBtn3')
 
WinWaitActive ('Настройка параметров')
Sleep (10000)
ControlClick ('Настройка параметров','','TBitBtn38')
 
Exit


e9990638 12-03-2006 18:08 416886

DenchikK
Спасибо большое!
Буду разбираться.
(Если не трудно, куда вставлять этот скрипт?)

DenchikK 12-03-2006 20:56 416956

e9990638
Просто копируете в блокнот скрипт, сохраняете примерно так: venta.au3

e9990638 12-03-2006 22:01 416968

DenchikK
Я поменял расширение на .au3 и проверял запуск AutoIt3.exe
Но у меня вопрос, почему когда доходит до регистрации процесс стопорится, пока не наведу мышкой на окно регистрации и не кликну (активирую) окно, далее все идет нормально. Я немного изменил скрипт, хотелось чтобы все ярлыки и группы устанавливались и в самом дистрибутиве я изменил название программы на русский и папку назначения. Привожу скрипт для проверки, может что-то не так?
PHP код:

Запрет на двойной запуск скрипта
If WinExists(@ScriptNameThen Exit
 
Пауза между нажатием клавиш 
AutoItSetOption
("SendKeyDelay"50)
 
Если скрипт засбоилв трее подведите мышку к иконке AutoIT скриптаи узнаетегде он застопроился
AutoItSetOption
("TrayIconDebug"1)
 
Проверка на уже установленную программу
If FileExists ( @ProgramFilesDir "\Вента Факс 5.7\ventafax.exe" Then
    MsgBox 
(64,'Информация','Программа VentaFax уже стоит на Вашем компьютере. Удалите её и попробуйте снова.',7)
    Exit
EndIf
 
;
Запуск программы
Run
('VFHome-5.7.exe')
 
;
Выбор русского языка 
WinWaitActive 
('Установка Вента Факс 5.7','')
ControlCommand 'Установка Вента Факс 5.7''''TComboBox1''SelectString''Russian' )
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','','TButton3')
 
WinWaitActive ('Установка Вента Факс 5.7','Согласен')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Согласен','TButton2')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Согласен','TButton5')
 
WinWaitActive ('Установка Вента Факс 5.7','Далее')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Далее','TButton5')
 
;
WinWaitActive ('Установка Вента Факс 5.7','Добавить значок на панель')
;
Sleep (500)
;
ControlCommand 'Установка Вента Факс 5.7''Добавить значок на панель''TCheckBox1'"UnCheck""" )
;
Sleep (500)
;
ControlCommand 'Установка Вента Факс 5.7''Добавить значок на панель''TCheckBox2'"UnCheck""" )
;
Sleep (500)
;
ControlCommand 'Установка Вента Факс 5.7''Добавить значок на панель''TCheckBox3'"UnCheck""" )
;
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Добавить значок на панель','TButton7')
 
 
WinWaitActive ('Установка Вента Факс 5.7','Далее')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Далее','TButton7')
 
 
WinWaitActive ('Установка Вента Факс 5.7','Выбрать все')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Выбрать все','TButton7')
 
WinWaitActive ('Установка Вента Факс 5.7','Установить')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Установить','TButton7')
 
Если расскоментировать строчку Venta не запуститься
WinWaitActive 
('Установка Вента Факс 5.7')
ControlCommand 'Установка Вента Факс 5.7''Открыть программную группу''TCheckBox8'"UnCheck""" )
;
ControlCommand 'Установка Вента Факс 5.7''''TCheckBox11'"UnCheck""" )
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','','TButton7')
Sleep (500)
;
WinClose("Вента Факс 5.7""")
;
WinKill "Вента Факс 5.7", ["text"] )
 
WinWaitActive ('Venta Fax & Voice','Регистрация')
ControlClick ('Venta Fax & Voice','Регистрация','TBitBtn6')
Sleep (500)
РегистрацияОбращаю внимание на точто серийник вводится по-другомунежели чем имена
Сделано это из-за тогочто Venta иногда вылетает при помещении текста в ячейку s/
Так же я не стал отдельно делать переменные для регистрационных данныхтак как в этом скрипте не вижу для этого необходимости.
WinActivate ('Регистрация','')
Sleep (500)
ControlSetText 'Регистрация','''TEdit2'"XXXX" )
Sleep (500)
ControlSetText 'Регистрация','''TEdit1'"XXXXXXXXXXXX" )
Sleep (500)
Send ('{TAB 2}')
Send ('4064-21234440392-3333')
;
ControlSetText 'Регистрация','''TEdit3'"XXXX-XXXXXXXXXX-XXXX" )
Sleep (500)
ControlClick ('Регистрация','','TBitBtn2')
 
WinWaitActive ('Information')
ControlClick ('Information','','TButton1')
 
WinWaitActive ('ВНИМАНИЕ!')
ControlClick ('ВНИМАНИЕ!','','TBitBtn3')
 
WinWaitActive ('Настройка параметров')
Sleep (10000)
ControlClick ('Настройка параметров','','TBitBtn38')
 
Exit 


Sanja Alone 13-03-2006 02:00 417031

DenchikK
Цитата:

Запрет на двойной запуск скрипта
Посмотри этот пост - там я подробно обыяснил как правильно осуществить данное действие.

DenchikK 13-03-2006 16:03 417293

e9990638
Как я и говорил - супербизон Sanja Alone понимает в AutoIt ГОРАЗДО больше, чем я!

И такой вопрос - у Вас везде строчки типа :

ControlClick ('Установка Вента Факс 5.7','','TButton7')

Что, действительно в каждом окне пишется по-русски "Установка Вента Факс"? Это можно посмотреть, запустив AutoIt Window Info, ткнуть в окошко установки программы, и там в сверху, в Windows Details - Title

Код:

; Если расскоментировать строчку - Venta не запуститься
WinWaitActive
('Установка Вента Факс 5.7')
ControlCommand ( 'Установка Вента Факс 5.7', 'Открыть программную группу', 'TCheckBox8', "UnCheck", "" )
;
ControlCommand ( 'Установка Вента Факс 5.7', '', 'TCheckBox11', "UnCheck", "" )
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','','TButton7')
Sleep (500)
;
WinClose("Вента Факс 5.7", "")
;
WinKill ( "Вента Факс 5.7", ["text"] )

Тут не понял - зачем winclose и winkill

Код:

;WinWaitActive ('Установка Вента Факс 5.7','Добавить значок на панель')
;
Sleep (500)
;
ControlCommand ( 'Установка Вента Факс 5.7', 'Добавить значок на панель', 'TCheckBox1', "UnCheck", "" )
;
Sleep (500)
;
ControlCommand ( 'Установка Вента Факс 5.7', 'Добавить значок на панель', 'TCheckBox2', "UnCheck", "" )
;
Sleep (500)
;
ControlCommand ( 'Установка Вента Факс 5.7', 'Добавить значок на панель', 'TCheckBox3', "UnCheck", "" )
;
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Добавить значок на панель','TButton7')

Тут, как я понял, Вы хотели чтоб значки добавлялись. Не комментировать надо (естественно - скрипт не дождадся и неактивировал окно - самая первая строчка. ) Тут менять надо Uncheck на Check.

Sanja Alone
Точно, лоханулся, пропустил!

e9990638 13-03-2006 17:41 417330

DenchikK
В самом дистрибутиве я изменил название программы на русский и папку назначения. Редактировал Setup.ini, потому названия окна по-русски.
По поводу winclose и winkill - думал как закрыть группу ярлыков, но т.к. впереди них я поставил ";" - то команда не работает. (Кстати она у меня не отрабатывает и без ";")

Но как быть с этим "...почему когда доходит до регистрации процесс стопорится, пока не наведу мышкой на окно регистрации и не кликну (активирую) окно, далее все идет нормально..."?

Где выяснить номер кнопки?
ControlCommand ( 'Установка Вента Факс 5.7', 'Открыть программную группу', 'TCheckBox8', "UnCheck", "" ) - "8" подобрана методом подбора.

DenchikK 13-03-2006 20:21 417390

e9990638
Всё узнается при Auto Window Info.

Про это:
Но как быть с этим "...почему когда доходит до регистрации процесс стопорится, пока не наведу мышкой на окно регистрации и не кликну (активирую) окно, далее все идет нормально..."?


Я выше написал - Вы закоментировали ожидание окна.

e9990638 13-03-2006 22:19 417445

DenchikK/Sanja Alone
Высылаю очередной раз скрипт.
Все равно когда выскакивает окно с регистрацией, стопорится процесс, активирую окно - дальше идет. Насколько я понял связано с тем, что запускается сама программа Вента Факс, далее она закрывается и окно с регистрацией остается не активированно. Что надо сделать?
PHP код:

Запрет на двойной запуск скрипта
If WinExists(@ScriptNameThen Exit
 
Пауза между нажатием клавиш 
AutoItSetOption
("SendKeyDelay"50)
 
Если скрипт засбоилв трее подведите мышку к иконке AutoIT скриптаи узнаетегде он застопроился
AutoItSetOption
("TrayIconDebug"1)
 
Проверка на уже установленную программу
If FileExists ( @ProgramFilesDir "\Вента Факс 5.7\ventafax.exe" Then
    MsgBox 
(64,'Информация','Программа VentaFax уже стоит на Вашем компьютере. Удалите её и попробуйте снова.',7)
    Exit
EndIf
 
;
Запуск программы
Run
('VFHome-5.7.exe')
 
;
Выбор русского языка
WinWaitActive 
('Установка Вента Факс 5.7','')
ControlCommand 'Установка Вента Факс 5.7''''TComboBox1''SelectString''Russian' )
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','','TButton3')
 
;
Лицензионное соглашение
WinWaitActive 
('Установка Вента Факс 5.7','Согласен')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Согласен','TButton2')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Согласен','TButton5')
 
;
Выбор папки для установки
WinWaitActive 
('Установка Вента Факс 5.7','Далее')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Далее','TButton5')
 
;
Создание значков
WinWaitActive 
('Установка Вента Факс 5.7','Добавить значок на панель')
Sleep (500)
;
Добавить значок на панель "Быстрый запуск"
ControlCommand 'Установка Вента Факс 5.7''Добавить значок на панель''TCheckBox1'"Check""" )
Sleep (500)
;
Добавить значок на Рабочий стол
ControlCommand 
'Установка Вента Факс 5.7''Добавить значок на панель''TCheckBox2'"Check""" )
Sleep (500)
;
Добавить группу программ в меню "Пуск"
ControlCommand 'Установка Вента Факс 5.7''Добавить значок на панель''TCheckBox3'"Check""" )
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Добавить значок на панель','TButton7')
 
;
Выбор группы программ в меню Пуск
WinWaitActive 
('Установка Вента Факс 5.7','Далее')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Далее','TButton7')
 
;
Выбор типов файлов
WinWaitActive 
('Установка Вента Факс 5.7','Выбрать все')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Выбрать все','TButton7')
 
;
Все готово к установке
WinWaitActive 
('Установка Вента Факс 5.7','Установить')
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','Установить','TButton7')
 
;
Завершение установки
WinWaitActive 
('Установка Вента Факс 5.7')
ControlCommand 'Установка Вента Факс 5.7''Открыть программную группу''TCheckBox8'"UnCheck""" )
;
ControlCommand 'Установка Вента Факс 5.7''Запустить программу''TCheckBox11'"UnCheck""" )
Sleep (500)
ControlClick ('Установка Вента Факс 5.7','','TButton7')
 
;
Venta Fax Voice РЕГИСТРАЦИЯ
WinWaitActive 
('Venta Fax & Voice','Зарегистрировать сейчас!')
ControlClick ('Venta Fax & Voice','Зарегистрировать сейчас!','TBitBtn6')
 
;
Регистрация
WinActivate 
('Регистрация','')
Sleep (500)
ControlSetText 'Регистрация','''TEdit2'"XXXX" )
Sleep (500)
ControlSetText 'Регистрация','''TEdit1'"XXXX" )
Sleep (500)
Send ('{TAB 2}')
Send ('XXXX-XXXXXXXXXXX-XXXX')
ControlClick ('Регистрация','','TBitBtn2')
 
;
Information Регистрация завершена
WinWaitActive 
('Information')
ControlClick ('Information','','TButton1')
 
;
ВНИМАНИЕ!
WinWaitActive ('ВНИМАНИЕ!')
ControlClick ('ВНИМАНИЕ!','','TBitBtn3')
 
;
Настройка параметров определение модема
WinWaitActive 
('Настройка параметров')
Sleep (10000)
ControlClick ('Настройка параметров','','TBitBtn38')
 
Exit 

А по поводу (; Запрет на двойной запуск скрипта) не понял, если можно привести пример.
Спасибо за науку.

DenchikK 14-03-2006 00:46 417486

e9990638

If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)

Sanja Alone 14-03-2006 07:40 417535

DenchikK, e9990638
Цитата:

Не комментировать надо (естественно - скрипт не дождадся и неактивировал окно - самая первая строчка. ) Тут менять надо Uncheck на Check.
Если по ум. галочки стоят, то можно и закомментировать (это уточнение касается только чекбоксов, а не ф-ции ожидания окна :) ).

e9990638
Цитата:

Насколько я понял связано с тем, что запускается сама программа Вента Факс, далее она закрывается и окно с регистрацией остается не активированно.
WinActivate('Заголовок окна','Какой-то текст из этого окна'). Но, во избежание подобного рода загвоздок, я бы рекомендовал везде вместо WinWaitActive('Заголовок','Текст') использовать связку:
Код:

WinWait ('Заголовок','Текст')
WinActivate ('Заголовок','Текст')
WinWaitActive ('Заголовок','Текст')

Это избыточный код, но он гарантирует активность окна на момент начала работы с ним (и при этом не нужны Sleep-ы, хотя, они здесь и без того по субъективной причине; а последний Sleep (10000), скорее всего, можно заменить циклом ожидания активности кнопки "Далее" или окончания неактивности кнопки "Назад" - пример можно посмотреть в скрипте для Agnitum Outpost). Пример кода:
Код:

;Выполнять секундную паузу пока кнопка "Назад" неактивна
While ControlCommand ( 'Заголовок', 'Текст', '< &Назад', 'IsEnabled', '')=0
Sleep ( 1000 )
WEnd

P.S. Я могу помочь по данному скрипту скорее теоретически, т.к. не пользуюсь VentaFax и у меня даже нет дистрибутива этой проги. Но, Вы ведь и сами в состоянии выявить место "подвисания" скрипта - строка AutoItSetOption("TrayIconDebug", 1) в предложенном Вам DenchikK-ом скрипте есть, след-но, если какое-то запланированное действие не выполняется, можно подвести мышку к иконке АвтоИт в трэе, подождать несколько секунд, и, в появившейся всплывающей подсказке, посмотреть какая строка стала преградой. Об этом я писал в FAQ по AutoIt (раздел "Отлов ошибок").

e9990638 14-03-2006 14:21 417682

DenchikK / Sanja Alone
Спасибо вам!
Наконец все получилось.
Теперь буду пробовать компилировать.
DenchikK- "...Тренироваться на основе этого скрипта будет трудно..." - по крайней мере я хотя бы понял как работает эта программа, есть смысл изучать ее дальше.

DenchikK 14-03-2006 17:11 417759

Sanja Alone
Цитата:

Не комментировать надо (естественно - скрипт не дождадся и неактивировал окно - самая первая строчка. ) Тут менять надо Uncheck на Check.
Там закомментирован был WinWaitActive заодно.

Может быть Вам выслать на доработку и выкладку на Ваш сайт, скриптов на проги, коих там нет?


e9990638
Рад, что у Вас полчилось. По крайней мере +1 ехp к опыту Вы получили. И я немного!

e9990638 14-03-2006 20:07 417820

DenchikK
Да, а как сделать так, когда идет установка, была заблокирована мышь и клавиатура?
Просто при установке нечайно кликнул мышью и процесс застопорился (видимо активировал другое окно).

XXXler 14-03-2006 20:29 417826

Цитата:

Да, а как сделать так, когда идет установка, была заблокирована мышь и клавиатура?
почитать справку и тему по автоит:
Код:

BlockInput ( 1 )

Sanja Alone 15-03-2006 03:02 417915

DenchikK
Цитата:

Может быть Вам выслать на доработку и выкладку на Ваш сайт, скриптов на проги, коих там нет?
Если не жалко, то даже нужно - сайт для этого и создавался изначально (я еще хотел прикрутить возм-ть аплоада, а потом обломался :( ). Ес-но, я не смогу проверить работоспособность скриптов для отсутствующих у меня приложений - проверю только синтаксис.

e9990638 15-03-2006 22:39 418265

Sanja Alone
Не подскажешь как записать переменную для "C:\Program Files\" в

; Директория установки

WinActive ('Директория установки','')
ControlSetText ( 'Директория установки','', 'Edit1', "C:\Program Files\Моя программа" )

типа "%PROGRAMFILES%\Моя программа"

в справке по Autoit-v3 вроде нет.

Спасибо.

Sanja Alone 16-03-2006 03:38 418309

e9990638
Цитата:

WinActive
Я уже писал, что эта ф-ция исп-ся в проверках. Здесь уместной была бы ф-ция WinActivate. А если учесть тот факт, что ControlSetText может работать и с неактивными окнами, то, можно обойтись и без WinActivate. Просто я люблю в скриптах исп-ть Send('{ENTER}') для нажатия на кнопку по ум., а если обходиться только ф-циями ControlClick, ControlCommand, ControlSend, ControlSetText, то активировать окна совсем необяэательно - достаточно лишь дождаться соотв. окна с пом. WinWait.

Цитата:

как записать переменную для "C:\Program Files\" в
Код:

ControlSetText ( 'Директория установки','', 'Edit1', @ProgramFilesDir & "\Моя программа" )
Цитата:

в справке по Autoit-v3 вроде нет.
AutoIt.chm -> Macro Reference -> Directory Macros

Если возникнут вопросы по АвтоИт не касающиеся конкретного приложения, то просьба задавать их в теме AutoIt скрипты .:[общие вопросы]:..
Если есть вопросы по автоустановке (в т.ч. по скрипту установки) конкретного приложения, то лучше создать отдельную тему, соотв-щую имени этого приложения.
Я стараюсь просматривать все новые темы, даже если меня не интересует конкретное приложение.

kh_citizen 28-01-2011 02:18 1598852

Вижу тема уже давно не актуальна, но мне понадобилась инфа только недавно. Ищу совета почему все-таки не получается снять галки с checkbox'ов после установки. У кого-то все-таки получилось установить без запуска программы и открытия программной группы?
Версия private 6.6
PHP код:

Запрет на двойной запуск скрипта
If WinExists(@ScriptNameThen Exit
 
Пауза между нажатием клавиш 
AutoItSetOption
("SendKeyDelay"50)
 
Если скрипт засбоилв трее подведите мышку к иконке AutoIT скриптаи узнаетегде он застопроился
AutoItSetOption
("TrayIconDebug"1)
 
Проверка на уже установленную программу
If FileExists (@ProgramFilesDir "\Venta\VentaFax & Voice 6\ventafax.exe"Then
    MsgBox 
(64,'Информация','Программа VentaFax 6 уже установлена на Вашем компьютере.',7)
    Exit
ElseIf 
FileExists (@ProgramFilesDir "\Venta\VentaFax & Voice 5\ventafax.exe"Then
    MsgBox 
(64,'Информация','Программа VentaFax 5 уже установлена на Вашем компьютере.',7)
    Exit
EndIf

;
Запуск инсталла
Run
('ventafaxprivat6.6.exe')
;
Ждатьпока окна не будет активным
WinWaitActive
("Установка Venta Fax & Voice 6.6 (версия Private)")
Sleep (500)
;
Выбрать язык(только 1 языкпросто нажать далее)
ControlClick("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton3")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)","")
Sleep (500)
;
Нажать "Согласен"
ControlClick("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton1")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")
Sleep (500)
;
Нажать "ДАлее"
ControlClick("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton5")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")
Sleep (500)
;
Нажать далее при выборе директории установки
ControlClick
("Установка Venta Fax & Voice 6.6 (версия Private)","Далее","TButton4")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")
Sleep (500)
;
Нажать далее при создании ярлыков
ControlClick
("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton5")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")
Sleep (500)
;
Нажать далее при выборе группы программ
ControlClick
("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton3")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")
Sleep (500)
;
Нажать далее при выборе типов файлов
ControlClick
("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton5")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")
Sleep (500)
;
Нажать установить
ControlClick
("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton3")
;
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")
;
Sleep (5000)

;
отменить запуск приложения и открытие папки
WinWait
("Установка Venta Fax & Voice 6.6 (версия Private)")
WinActivate("Установка Venta Fax & Voice 6.6 (версия Private)")
WinWaitActive("Установка Venta Fax & Voice 6.6 (версия Private)")

ControlCommand("Установка Venta Fax & Voice 6.6 (версия Private)","Открыть самоучитель для начинающих на сайте программы","TCheckBox1","UnCheck","")
ControlCommand("Установка Venta Fax & Voice 6.6 (версия Private)","Открыть программную группу","TCheckBox2","UnCheck","")
ControlCommand("Установка Venta Fax & Voice 6.6 (версия Private)","Запустить программу","TCheckBox3","Check","")
;
ControlCommand("Установка Venta Fax & Voice 6.6 (версия Private)","","[CLASS:TCheckBox; TEXT:Открыть программную группу; INSTANCE:2]","UnCheck","")
;
ControlCommand("Установка Venta Fax & Voice 6.6 (версия Private)",,"[CLASS:TCheckBox; TEXT:Запустить программу; INSTANCE:3]","UnCheck","")
Sleep(500)
;
ControlClick("Установка Venta Fax & Voice 6.6 (версия Private)","","TButton3"



Время: 16:34.

Время: 16:34.
© OSzone.net 2001-