Автор Тема: [Автоматизация] TightVNC  (Прочитано 3235 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн gdu [?]

  • Новичок
  • *
  • Сообщений: 20
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
[Автоматизация] TightVNC
« Создано: Январь 24, 2017, 17:31:36 »
Задумался я об автоматизации TightVNC.
;Запустили программу!   Run("C:\Temp\tightvnc-2.0.2-setup.exe /S")
вопрос возник в следующем?: Как ввести пароль при установке? собственно и самого скрипта еще нет, но буду благодарен если поделитесь навыками!!
Есть старый код: НО ОН МНЕ НЕ НРАВИТСЯ, работает он криво, хочу переписать его.

Код: AutoIt [Выделить]
; назначение опций выполнения и переменных автоинсталлятора
Opt("TrayIconDebug", 1)
Opt("WinWaitDelay", 0)
$pfiles = EnvGet("programfiles")
$app_name = ("Tight VNC 2.0.2 GDY 2014")
#RequireAdmin

; копирование установочных файлов во временную папку, распаковка архивов
DirCreate(@HomeDrive & "\temp")
SplashTextOn("Установка " & $app_name, @LF & "Происходит установка " & $app_name & @LF & "Пожалуйста, подождите..." & @LF & @LF & "- копирование файлов...", 500, 120)
FileInstall("D:\Autoit\source\Autoit TightVNC NEW\tightvnc-2.0.2-setup.exe", @HomeDrive & "\temp\tightvnc-2.0.2-setup.exe", 1)


Run("C:\Temp\tightvnc-2.0.2-setup.exe") ;Запустили программу!
$WinTitle = "TightVNC 2.0.2 Setup"
;1
WinWaitActive("TightVNC 2.0.2 Setup") ;Дожидаемся открытия
WinActivate("TightVNC 2.0.2 Setup") ;Избежание перекрытия другим окном
ControlClick($WinTitle, "", "TNewButton2")
Send("!N")
;2
WinWaitActive($WinTitle, "License Agreement") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "License Agreement") ; отключаем перекрытие другим окном
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем  I Agre
Send("{ENTER}")
;3
WinWaitActive($WinTitle, "Choose Components") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "Choose Components") ; отключаем перекрытие другим окном
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем Next
Send("{ENTER}")
;4
WinWaitActive($WinTitle, "Choose Install Location") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "Choose Install Location") ; отключаем перекрытие другим окном
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем Next
Send("{ENTER}")
;5
WinWaitActive($WinTitle, "Choose Start Menu Folder") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "Choose Start Menu Folder") ; отключаем перекрытие другим окном
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем Next
Send("{ENTER}")
;6 выбор установки пароля
WinWaitActive($WinTitle, "Select Additional Tasks") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "Select Additional Tasks") ; отключаем перекрытие другим окном
Send("{TAB 4}")
;Send("{TAB}")
;Send("{TAB}")
;Send("{TAB}")
Send("{SPACE}")
Sleep(200)
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем Next
Send("{ENTER}")
;7 ввод пароля для продолжения
WinWaitActive($WinTitle, "Service Configuration") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "Service Configuration") ; отключаем перекрытие другим окном
Send("{TAB 3}")
Sleep(200)
Send("пароль")
Send("{TAB 1}")
Sleep(200)
Send("пароль")
Send("{TAB 2}")
Sleep(200)
Send("пароль")
Send("{TAB 1}")
Sleep(200)
Send("пароль")
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем Install
Send("{ENTER}")
;8 окно после установки
WinWaitActive($WinTitle, "Installation Complete") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "Installation Complete") ; отключаем перекрытие другим окном
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем Next
Sleep(200)
Send("{ENTER}")
;9 Появляется окно с предложением перезагрузки или отмены и кнопка финиш
WinWaitActive($WinTitle, "Completing the TightVNC 2.0.2 Setup Wizard") ;дожидаемся открытия заголовка страницы
WinActivate($WinTitle, "Completing the TightVNC 2.0.2 Setup Wizard") ; отключаем перекрытие другим окном
Send("{TAB}")
Sleep(200)
Send("{SPACE}")
Sleep(200)
ControlClick($WinTitle, "", "TNewButton2") ; нажимаем Finish
;удаление временной папки
DirRemove(@HomeDrive & "\temp1", 1)
SplashOff()
MsgBox(64, "Установка " & $app_name, @LF & "Установка " & $app_name & " успешно завершена!")
Exit;





« Последнее редактирование: Январь 24, 2017, 17:39:38 от gdu, Причина: ПРАВКА КОДА »

Русское сообщество AutoIt

[Автоматизация] TightVNC
« Отправлен: Январь 24, 2017, 17:31:36 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3576
  • Репутация: 945
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #1, Отправлен: Январь 24, 2017, 18:58:03 »
gdu
В пункте 9 разберитесь с перезагрузкой (у меня там никаких элементов нет)
(нажмите для показа/скрытия)

Оффлайн chymax3m [?]

  • Новичок
  • *
  • Сообщений: 26
  • Репутация: 1
  • Пол: Мужской
    • Награды
Re: [Автоматизация] TightVNC
« Ответ #2, Отправлен: Январь 24, 2017, 20:30:00 »
Если речь идёт об этой программе http://www.tightvnc.com/download.php, так там присутствует msi установщик поддерживающий кучу параметров командной строки для тихой установки с определенными настройками.
Более детально о поддерживаемых ключах можно прочитать здесь http://www.tightvnc.com/doc/win/TightVNC-installer-2.5.2.pdf

Если же речь о другой программе, то сперва попробуйте поискать штатные ключи установки, возможно таковы существуют.

Помечен как лучший ответ пользователем gdu Отправлен Январь 25, 2017, 10:32:38

Оффлайн gdu [?]

  • Новичок
  • *
  • Сообщений: 20

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #3, Отправлен: Январь 25, 2017, 00:04:26 »
gdu
В пункте 9 разберитесь с перезагрузкой (у меня там никаких элементов нет)
(нажмите для показа/скрытия)
Это полностью мной написанный скрипт, без помощи форумов..у меня при установке появляется вопрос о перезагрузке!!!!
Или это как образец скрипта готового выложен?


Добавлено: Январь 25, 2017, 00:07:42
Если речь идёт об этой программе http://www.tightvnc.com/download.php, так там присутствует msi установщик поддерживающий кучу параметров командной строки для тихой установки с определенными настройками.
Более детально о поддерживаемых ключах можно прочитать здесь http://www.tightvnc.com/doc/win/TightVNC-installer-2.5.2.pdf

Если же речь о другой программе, то сперва попробуйте поискать штатные ключи установки, возможно таковы существуют.
Да,это именно та программа!!

Русское сообщество AutoIt

Re: [Автоматизация] TightVNC
« Ответ #3 Отправлен: Январь 25, 2017, 00:04:26 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3576
  • Репутация: 945
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #4, Отправлен: Январь 25, 2017, 01:03:42 »
gdu
Цитировать
Или это как образец
Это ваш скрипт, переделанный мною ;)
Полностью рабочий. Вам нужно только разобраться с опцией перезагрузки - включить или выключить.

Оффлайн gdu [?]

  • Новичок
  • *
  • Сообщений: 20

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #5, Отправлен: Январь 25, 2017, 10:25:45 »
gdu
Цитировать
Или это как образец
Это ваш скрипт, переделанный мною ;)
Полностью рабочий. Вам нужно только разобраться с опцией перезагрузки - включить или выключить.
Теперь понятно!!! гляну...Спасибо.
Появился новый вопрос, изменилась версия TightVNC до 2.8.5 и там немного изменились окна во время установки, количество кнопок и тд...
Как вы определяли кнопки? поля для ввода? через Au3info.exe?
Вот новый скрипт для версии 2.8.5 есть загвостки!!!! указал в комментариях к скрипту.И в скрипте не реализована возможность установки поверх другой версии.. или переустановки,
Код: AutoIt [Выделить]
#RequireAdmin

; назначение опций выполнения и переменных автоинсталлятора
Opt("TrayIconDebug", 1)
Opt("WinWaitDelay", 0)

; копирование установочных файлов во временную папку, распаковка архивов
 FileInstall("C:\Users\admin\Desktop\тихая установка vnc\Autoit TightVNC NEW Рабочий вариант\TightVNC 2.8.5\tightvnc-2.8.5-gpl-setup-64bit.msi", @TempDir & "\tightvnc-2.8.5-gpl-setup-64bit.msi", 1)


Run(@TempDir & "\tightvnc-2.8.5-gpl-setup-64bit.msi") ;Запустили программу!
$WinTitle = "TightVNC Setup"
sleep(500)
;1
WinWaitActive($WinTitle) ;Дожидаемся открытия TightVNC Setup ПРОБЛЕМЫ ТУТ!!! НЕ ВЫБИРАЕТ НЫЖНЫЕ ПАРАМЕТ
ControlClick($WinTitle, "", "Button1") ; нажимаем  Next
sleep(500)
;2
WinWaitActive($WinTitle, "End-User License Agreement") ;дожидаемся открытия заголовка страницы End-User License Agreement
ControlClick($WinTitle, "", "Button1") ; нажимаем  I Agree
sleep(500)
;3
WinWaitActive($WinTitle, "End-User License Agreement") ;дожидаемся открытия заголовка страницы End-User License Agreement
ControlClick($WinTitle, "", "Button4") ; нажимаем Next
sleep(500)
;4
WinWaitActive($WinTitle, "Choose Setup Type") ;дожидаемся открытия заголовка страницы Choose Setup Type
ControlClick($WinTitle, "", "Button3") ; нажимаем Next
sleep(500)
;5
WinWaitActive($WinTitle, "Select Additional Tasks") ;дожидаемся открытия заголовка страницы Select Additional Tasks
ControlClick($WinTitle, "", "Button6") ; нажимаем Next
sleep(500)
;6
WinWaitActive($WinTitle, "Ready to install TightVNC") ;дожидаемся открытия заголовка сReady to install TightVNC
ControlClick($WinTitle, "", "Button1") ; нажимаем Next
sleep(500)

;7 выбор установки пароля
WinWaitActive($WinTitle, "TightVNC Server: Set Passwords") ;дожидаемся открытия заголовка страницы TightVNC Server: Set Passwords ПРОБЛЕМЫ ТУТ!!! НЕ ВЫБИРАЕТ НЫЖНЫЕ ПАРАМЕТ
ControlCommand($WinTitle, "Select Additional Tasks", "Button4", "Check")
ControlCommand($WinTitle, "Select Additional Tasks", "Button8", "Check")
;ControlClick($WinTitle, "", "Button9") ; нажимаем Next
sleep(500)

;8 ввод пароля для продолжения
WinWaitActive($WinTitle, "TightVNC Server: Set Passwords") ;дожидаемся открытия заголовка страницы TightVNC Server: Set Passwords ПРОБЛЕМЫ ТУТ!!! НЕ ВЫБИРАЕТ НЫЖНЫЕ ПАРАМЕТРЫ
ControlSetText($WinTitle, "Service Configuration", "Edit1", "pass")
ControlSetText($WinTitle, "Service Configuration", "Edit2", "pass")
ControlSetText($WinTitle, "Service Configuration", "Edit3", "adminpass")
ControlSetText($WinTitle, "Service Configuration", "Edit4", "adminpass")
ControlClick($WinTitle, "", "Button9") ; нажимаем Install
sleep(500)

;9 окно после установки
WinWaitActive($WinTitle, "Completed the TightVNC Setup Wizard") ;дожидаемся открытия заголовка страницы
ControlClick($WinTitle, "", "Button1") ; нажимаем Next
;--------------------------------тут завершил
;10 Появляется окно с предложением перезагрузки или отмены и кнопка финиш
;WinWaitActive($WinTitle, "Completing the TightVNC 2.0.2 Setup Wizard") ;дожидаемся открытия заголовка страницы

;~ ControlCommand($WinTitle, "Select Additional Tasks", "Button?", "UnCheck") ; ???
ControlClick($WinTitle, "", "Button2") ; нажимаем Finish
MsgBox(64, "Установка " & $WinTitle, @LF & "Установка " & $WinTitle & " успешно завершена!")
;удаление установщика
FileDelete(@TempDir & "\tightvnc-2.8.5-gpl-setup-64bit.msi")

« Последнее редактирование: Январь 25, 2017, 11:43:32 от gdu »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3576
  • Репутация: 945
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #6, Отправлен: Январь 25, 2017, 12:18:51 »
gdu
"TightVNC Server: Set Passwords" - это заголовок окна, а не текст окна.

Оффлайн gdu [?]

  • Новичок
  • *
  • Сообщений: 20

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #7, Отправлен: Январь 25, 2017, 14:17:54 »
gdu
"TightVNC Server: Set Passwords" - это заголовок окна, а не текст окна.
Это от безысходности поставил, не определяет окно и все!!!

Русское сообщество AutoIt

Re: [Автоматизация] TightVNC
« Ответ #7 Отправлен: Январь 25, 2017, 14:17:54 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3576
  • Репутация: 945
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #8, Отправлен: Январь 25, 2017, 15:19:04 »
gdu
Дело в том, что окно "TightVNC Server: Set Passwords" не принадлежит установщику. Это окно процесса tvnserver.exe, запущенного от имени системы. Поэтому скрипт, даже с правами администратора, не сможет управлять элементами этого окна. Более того, при активном окне ввода пароля, скрипт даже курсор мыши переместить не сможет. Единственный выход - запускать скрипт от имени системы - через планировщик или с помощью специальных утилит типа PsExec.

Оффлайн gdu [?]

  • Новичок
  • *
  • Сообщений: 20

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #9, Отправлен: Январь 25, 2017, 16:44:55 »
gdu
Дело в том, что окно "TightVNC Server: Set Passwords" не принадлежит установщику. Это окно процесса tvnserver.exe, запущенного от имени системы. Поэтому скрипт, даже с правами администратора, не сможет управлять элементами этого окна. Более того, при активном окне ввода пароля, скрипт даже курсор мыши переместить не сможет. Единственный выход - запускать скрипт от имени системы - через планировщик или с помощью специальных утилит типа PsExec.
Это пакет Msi я его пытаюсь запускать с параметрами, но он не хочет нив какую запускаться!!!! где у меня ошибка, помогите...
Код: AutoIt [Выделить]
#RequireAdmin
#include <GUIConstants.au3>
$temp_path = ("c:\temp\")

;[email protected] &' C:\Users\admin\Desktop\запуск оцс в зависимости от разрядности системы\autoit_OCS Agent - XP 4.0.5.4.exe'  ;путь к установке для х86
$ocs64=@ScriptDir &' C:\Users\admin\Desktop\тихая установка vnc\Autoit TightVNC NEW Рабочий вариант\TightVNC 2.8.5\tightvnc-2.8.5-gpl-setup-64bit.msi'  ;путь к установке для х64
; и т.д. пути для всех пакетов установки
DirCreate ($temp_path)
;FileInstall ("C:\Users\admin\Desktop\запуск оцс в зависимости от разрядности системы\autoit_OCS Agent - XP 4.0.5.4.exe", $temp_path&"\autoit_OCS Agent - XP 4.0.5.4.exe", 1)
FileInstall ("C:\Users\admin\Desktop\тихая установка vnc\Autoit TightVNC NEW Рабочий вариант\TightVNC 2.8.5\tightvnc-2.8.5-gpl-setup-64bit.msi", $temp_path&"tightvnc-2.8.5-gpl-setup-64bit.msi", 1)


;If @OSArch = "X64" Then
   sleep("1000")
   RunWait ($temp_path&'\msiexec /i "' & @ScriptDir & '\tightvnc-2.8.5-gpl-setup-64bit.msi" /norestart
   SET_USEVNCAUTHENTICATION=1 VALUE_OF_USEVNCAUTHENTICATION=1 SET_PASSWORD=1 VALUE_OF_PASSWORD=mainpass SET_VIEWONLYPASSWORD=1 VALUE_OF_VIEWONLYPASSWORD=viewpass SET_USECONTROLAUTHENTICATION=1 VALUE_OF_USECONTROLAUTHENTICATION=1 SET_CONTROLPASSWORD=1 VALUE_OF_CONTROLPASSWORD=admpass'
)
    ;......................
    ;Run($Office86)
    ;.....................


;;;Else
   sleep("1000")
    ;RunWait ($temp_path&"\tightvnc-2.8.5-gpl-setup-64bit.msi")
    ;......................
    ;......................


;EndIf
sleep(2500)
;DirRemove ($temp_path, 1)



;удаление временной папки
DirRemove ($temp_path, 1)
SplashOff ()


;удаление временной папки
;DirRemove ($temp_path, 1)


Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3576
  • Репутация: 945
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Автоматизация] TightVNC
« Ответ #10, Отправлен: Январь 25, 2017, 17:31:42 »
gdu
Код: AutoIt [Выделить]
RunWait('msiexec.exe /i "' & $temp_path & 'tightvnc-2.8.5-gpl-setup-64bit.msi" /quiet /norestart SET_USEVNCAUTHENTICATION=1 VALUE_OF_USEVNCAUTHENTICATION=1 SET_PASSWORD=1 VALUE_OF_PASSWORD=mainpass SET_VIEWONLYPASSWORD=1 VALUE_OF_VIEWONLYPASSWORD=viewpass SET_USECONTROLAUTHENTICATION=1 VALUE_OF_USECONTROLAUTHENTICATION=1 SET_CONTROLPASSWORD=1 VALUE_OF_CONTROLPASSWORD=admpass')


Русское сообщество AutoIt

Re: [Автоматизация] TightVNC
« Ответ #10 Отправлен: Январь 25, 2017, 17:31:42 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
4083 Просмотров
Последний ответ Ноябрь 26, 2009, 10:44:51
от Medic84
4 Ответов
4502 Просмотров
Последний ответ Январь 14, 2013, 12:11:49
от Black_Hole
5 Ответов
3247 Просмотров
Последний ответ Май 13, 2013, 13:55:57
от pahan1789
1 Ответов
2927 Просмотров
Последний ответ Декабрь 05, 2013, 12:50:13
от InnI
0 Ответов
6382 Просмотров
Последний ответ Декабрь 05, 2013, 14:53:00
от saturnus
7 Ответов
1490 Просмотров
Последний ответ Сентябрь 09, 2014, 19:45:15
от yagrus2
0 Ответов
646 Просмотров
Последний ответ Сентябрь 07, 2014, 20:18:59
от madmasles
2 Ответов
1446 Просмотров
Последний ответ Январь 09, 2015, 20:18:59
от vaf
5 Ответов
3438 Просмотров
Последний ответ Апрель 12, 2015, 13:29:40
от usje
6 Ответов
1857 Просмотров
Последний ответ Август 11, 2015, 15:16:22
от Vovsla