Что нового

[Автоматизация] Установка Adobe Reader XI средствами AutoIT

Kolunt

Новичок
Сообщения
13
Репутация
0
Продолжаю учиться писать скриптики..

Всё замечательно, но вот с Adobe Reader XI возникла небольшая запарка, не могу найти ответ.

Автоматизированое тыкание кнопочек сделал до момента установки:

Код:
;Adobe Reader

;1

Run('\\fs01\Distrib\13_Adobe product\01_Adobe_Reader\Adobe Reader XI\AdbeRdr11000_ru_RU.exe')
WinWait('Adobe Reader XI - Программа установки', '&Далее >')
WinActivate('Adobe Reader XI - Программа установки', '&Далее >')
ControlClick('Adobe Reader XI - Программа установки', '&Далее >', 'Button1')

;2

WinWait('Adobe Reader XI - Установка', 'У&становить >')
WinActivate('Adobe Reader XI - Установка', 'У&становить >')
ControlClick('Adobe Reader XI - Установка', 'У&становить >', 'Button1')

Exit


Работает, замечательно. Начинает устанавливаться, в момент установки Visible Text такой:

NewBinary6
&Отмена
Устанавливаются выбранные компоненты программы.
Установка Adobe Reader XI
InstallShield
InstallShield
Состояние:

Потом появляется окошко, где нужно просто нажать кнопку "Готово". Visible Text:

NewBinary6
&Готово
Установка Adobe Reader XI успешно завершена. Нажмите кнопку "Готово" для выхода из программы установки.
InstallShield
InstallShield
Установка завершена.


Во всём остальном Info полностью одинаково. Разница только во второй строке Visible Text.

Вопрос: Как, например в WinActivate прописать "text" через абзац? Пробовал в строку, реакции ноль.

Заранее спасибо за помощь :smile:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
качается файл с сайта Адобе.
распаковывается архиватором. достаем два файла : AcroRead.msi и Data1.cab.
пишем строчку
Код:
ShellExecute(@ScriptDir & '\AcroRead.msi','/passive')

запускаем, наблюдаем процесс установки без нашего вмешательства.
все.
можно все перепаковать. и сделать автоинсталятор в одном файле.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
joiner, как же вы любите всё усложнять :smile:

Kolunt [?]
прописать "text" через абзац
В оконных функциях понятие "text" - это текст элемента окна. Строки "Visible Text" - это и есть тексты различных элементов. Их не следует объединять. Причём "text" может быть и частью какой-либо строки (т.е. частью текста элемента). В вашем случае достаточно "&Готово".
Код:
WinWait('Adobe Reader XI - Программа установки', '&Далее >')
ControlClick('Adobe Reader XI - Программа установки', '&Далее >', 'Button1')

WinWait('Adobe Reader XI - Установка', 'У&становить >')
ControlClick('Adobe Reader XI - Установка', 'У&становить >', 'Button1')

WinWait('Adobe Reader XI - Программа установки', "&Готово")
ControlClick('Adobe Reader XI - Программа установки', "&Готово", 'Button1')

P.S. Для ControlClick() не обязательно активировать окно.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
InnI [?]
как же вы любите всё усложнять
разве? я предложил самый верный и самый простой вариант установки средствами AutoIT. одна строчка ;)
причем , большая вероятность, что ключ установки останется тот же и в следующей версии, а вот окна могут измениться, и ваш скрипт не будет работать
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
OffTopic:
joiner, я уверен, что Kolunt прислушается к вашему совету, подкреплённому неоспоримыми доводами, и решит, что для него проще.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
InnI
OffTopic:
он уже решил. была подобная тема :smile:. я лишь предложил вариант. не всем людям нужна эффективность. многие ведутся на визуальные эффекты
 
Автор
K

Kolunt

Новичок
Сообщения
13
Репутация
0
joiner, я уже однажды рассматривал подобные варианты.. Не только для Adobe. Почему мне нужны визуальные эффекты:

1. Меня пока что ещё прикалывает как кнопочки у меня на глазах сами нажимаются (да, как-то поламерски, но это действительно прикольно :smile:
2. Я всё-таки хочу научиться хорошо писать скриптики, а с msi-никами всё несколько скучнее.. Нужна хоть какая-то практика, вот и тренируюсь на самых популярных програмках.
3. В первую очередь хочу начать что либо внедрять у себя на работе, а тут с этим сложно.

Первое что хотел внедрить - это была сборка винды, в которую входили уже установленные программы (Reader, Flash, 1C, Cylande, Navision, Office 2010 и прочие-прочие), драйвера со всех используемых у нас материнок (благо их всего 4-5 видов одного производителя и многие дрова взаимозаменямые), ну и, конечно, обновления.

Развёртывание рабочей станции в итоге занимало 12 минут. Уже с дровами, ПО и обновлениями. Я был доволен как удав ;D

Забраковали. Причина: у нас программисты самодуры, мало ли что они наделают. А это может выявиться только в процессе ручной установки (относилось в основном к 1C, Cylande, Navision).

Именно после этого начал искать способы устанавливать в ручную, но автоматизированно. Чтобы весь процесс был виден, все кнопочки нажимались, но я мог спокойно пойти на обед или ещё куда. Вот и нашёл AutoIT :IL_AutoIt_1:

Ещё один пример откинутого внедрения:

Дистрибутив Office 2010 весьма старенький. Весит чуть меньше 600мб. Установка занимает около 10 минут. Недавно вышел sp2, в итоге обновлений для него качается около гига. Устанавливаются обновления около 30 минут. В итоге на развёртывание Office 2010 уходит около 40 минут. При чём нужно постоянно присутствовать около инсталируемой станции.

Нашёл решение: файлик sp2 распаковывается и закидывается в корень дистрибутива Office в каталог Upgrade. Размер дистрибутива увеличился почти до двух гигов, время установки - 15. Экономим около 25 минут.

Забраковали :laugh:

Ну вот как-то так.. :smile:

InnI, т.е. достаточно любую строчку из Visible Text подсунуть?
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Kolunt [?]
Чтобы весь процесс был виден, все кнопочки нажимались, но я мог спокойно пойти на обед или ещё куда. Вот и нашёл AutoIT
а кому смотреть то если ты пошел на обед? да и что можно сделать когда кликает? остановить ? зачем? и чтобы экономить время нужно использовать предусмотренные производителем программы методами. я один привел. это производитель предусмотрел тихую установку а не я придумал. ты немного нелогично рассуждаешь. экономия времени и писание костылей там, где они не нужны. где ж это экономия? :smile:
одно дело что нет вариантов тихой установки.
и я писал, что с ключом виден прогресс установки. только не нужно терять время на написание кликальщика.
не в обиду, но мыслить нужно практично. в данном случае ты подошел не с практичной стороны.
ну да ладно.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Kolunt [?]
достаточно любую строчку из Visible Text подсунуть?
Можно и любую. Но лучше - уникальную для данного окна. Можно и "Hidden Text" использовать, если предварительно включить
Код:
Opt("WinDetectHiddenText", 1)
 
Автор
K

Kolunt

Новичок
Сообщения
13
Репутация
0
joiner, это не я, это руководство :smile:
Если уж рассуждать с практической стороны, то часть MSI пакетов вообще проще раздавать через GPO -) Нафик кликание мышкой.. Но и тут руководство против :smile:)

Здесь уже дело не столько во мне, сколько в сложившейся ситуации: руководство против. Вода камень точит: может потихоньку они всё-таки дадут добро на то или иное действо, но пока что так. И приходится подстраиваться. Руководство как никак.

InnI, конечно, я и имел ввиду уникальнуюд строку)) Попробую как-нибудь из Hidden Text, уже как-то задумывался над тем, как его использовать :smile:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Kolunt
что значит "руководство"? что то не срастается. :smile:
руководство сидит и смотрит как бот кликает по кнопкам? и оно все это понимает? смешно до слез.
грамотное руководство - за грамотные методы. грамотный метод - установка программы предусмотренными методами изготовителя. доказываешь руководству, что это метод от производителя и ты в шоколаде.
но бот для установки программ это лишнее. хотя не всегда.
 
Автор
K

Kolunt

Новичок
Сообщения
13
Репутация
0
joiner, руководство мне объяснило, что надо мышкой нажимать на кнопочки в меню инсталяциях. Бот кликает мышкой по кнопкам - и всё ок :D

Я правда думаю, что этот вариант в итоге тоже забракуют, но лишний раз побесить руководство - дело святое ;D

Стандартными средствами их тоже не устраивает, возвращаюсь к примеру про Upgrade Office 2010. Данный способ обновления дистрибутива описан на сайте Microsoft, но тем не менее его тоже не хотят применять
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
значит стоит не нарываться. а если никого нет по близости, то делай эффективно и быстро. но бот это не быстро и не эффективно. руководство же не ходит за тобой по пятам.
 

Futurebear

Знающий
Сообщения
29
Репутация
6
Есть же специальное средство для этого Adobe Customization Wizard XI
 
Верх