PDA

Показать полную графическую версию : Автоматическая установка VentaFax


Страниц : [1] 2

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


Спасибо.

boss911
03-02-2006, 17:56
e9990638

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

e9990638
03-02-2006, 23:00
В результате исчезло все с рабочего стола, кроме обоев.
Может что-нибудь другое?

Vovanchik
03-02-2006, 23:51
а потом
explorer.exe
и все опять появиться...
)))

вот так в конечном варианте это должно выглядеть
TASKKILL.EXE /F /im Explorer.exe
Explorer.exe

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

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

DenchikK
10-03-2006, 01:18
А через AutoIT - не выход? Если хотите - могу выложить.

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

DenchikK
12-03-2006, 04:55
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
DenchikK
Спасибо большое!
Буду разбираться.
(Если не трудно, куда вставлять этот скрипт?)

DenchikK
12-03-2006, 20:56
e9990638
Просто копируете в блокнот скрипт, сохраняете примерно так: venta.au3

e9990638
12-03-2006, 22:01
DenchikK
Я поменял расширение на .au3 и проверял запуск AutoIt3.exe
Но у меня вопрос, почему когда доходит до регистрации процесс стопорится, пока не наведу мышкой на окно регистрации и не кликну (активирую) окно, далее все идет нормально. Я немного изменил скрипт, хотелось чтобы все ярлыки и группы устанавливались и в самом дистрибутиве я изменил название программы на русский и папку назначения. Привожу скрипт для проверки, может что-то не так?
; Запрет на двойной запуск скрипта
If WinExists(@ScriptName) Then 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/n
; Так же я не стал отдельно делать переменные для регистрационных данных, так как в этом скрипте не вижу для этого необходимости.
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
DenchikK
Запрет на двойной запуск скриптаПосмотри этот пост (http://forum.oszone.net/showpost.php?p=393863&postcount=298) - там я подробно обыяснил как правильно осуществить данное действие.

DenchikK
13-03-2006, 16:03
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
DenchikK
В самом дистрибутиве я изменил название программы на русский и папку назначения. Редактировал Setup.ini, потому названия окна по-русски.
По поводу winclose и winkill - думал как закрыть группу ярлыков, но т.к. впереди них я поставил ";" - то команда не работает. (Кстати она у меня не отрабатывает и без ";")

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

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

DenchikK
13-03-2006, 20:21
e9990638
Всё узнается при Auto Window Info.

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


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

e9990638
13-03-2006, 22:19
DenchikK/Sanja Alone
Высылаю очередной раз скрипт.
Все равно когда выскакивает окно с регистрацией, стопорится процесс, активирую окно - дальше идет. Насколько я понял связано с тем, что запускается сама программа Вента Факс, далее она закрывается и окно с регистрацией остается не активированно. Что надо сделать?
; Запрет на двойной запуск скрипта
If WinExists(@ScriptName) Then 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
e9990638

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

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

e9990638
Насколько я понял связано с тем, что запускается сама программа Вента Факс, далее она закрывается и окно с регистрацией остается не активированно.WinActivate('Заголовок окна','Какой-то текст из этого окна'). Но, во избежание подобного рода загвоздок, я бы рекомендовал везде вместо WinWaitActive('Заголовок','Текст') использовать связку:
WinWait ('Заголовок','Текст')
WinActivate ('Заголовок','Текст')
WinWaitActive ('Заголовок','Текст')Это избыточный код, но он гарантирует активность окна на момент начала работы с ним (и при этом не нужны Sleep-ы, хотя, они здесь и без того по субъективной причине; а последний Sleep (10000), скорее всего, можно заменить циклом ожидания активности кнопки "Далее" или окончания неактивности кнопки "Назад" - пример можно посмотреть в скрипте для Agnitum Outpost (http://sanjaalone.h15.ru/files/autoit-outpost.zip)). Пример кода:
;Выполнять секундную паузу пока кнопка "Назад" неактивна
While ControlCommand ( 'Заголовок', 'Текст', '< &Назад', 'IsEnabled', '')=0
Sleep ( 1000 )
WEndP.S. Я могу помочь по данному скрипту скорее теоретически, т.к. не пользуюсь VentaFax и у меня даже нет дистрибутива этой проги. Но, Вы ведь и сами в состоянии выявить место "подвисания" скрипта - строка AutoItSetOption("TrayIconDebug", 1) в предложенном Вам DenchikK-ом скрипте есть, след-но, если какое-то запланированное действие не выполняется, можно подвести мышку к иконке АвтоИт в трэе, подождать несколько секунд, и, в появившейся всплывающей подсказке, посмотреть какая строка стала преградой. Об этом я писал в FAQ по AutoIt (http://oszone.net/display.php?id=3663) (раздел "Отлов ошибок").

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




© OSzone.net 2001-2012