Как сделать автоустановку программ

Делаем автоустановщик программ своими руками

Всем привет. Сегодня я расскажу вам как сделать автоустановщик программ(с автокликером) в Windows. Т.е. программу, которая будет запускать установку нужных нам программ и кликать по нужным кнопкам на форме. Использовать я буду язык С++(Qt) и Windows API. Вы можете использовать свой язык, в котором возможен вызов API функций Windows

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

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

В принципе приведенную ниже методику можно использовать и для других целей, например кликать по таймеру по какой то одной кнопке в программе, ну или что то еще на ваше усмотрение :-). Я покажу на примере установки программ.

У меня имеется 5 приложений: Google Chrome, K-Lite Codeck Pack Mega, The KMPlayer, WinDjView, WinRar. Нужно их установить все в любом порядке. Первое, что мы должны сделать в этой задаче, это проверить, есть ли у указанных приложений флаги бесшумной установки. Т.е. когда мы на вход инсталлятора подаем флаг(обычно /s) и программа устанавливается без открытия каких-либо окон, т.е. бесшумно. Поискав в интернете для моих версий программ, я нашел что есть такой флаг у программы WinRar(‘/s’), The KMPlayer(‘/s’), Google Chrome (‘-ms’), K-Lite Codeck Pack Mega(‘/VERYSILENT’). Как видно для большинства приложений нашлись флаги бесшумной установки, но в WinDjView пришлось, используя WinAPI кликать по кнопкам

Теперь давайте рассмотрим по порядку установку каждого приложения.

При старте автоустановщик проверяет наличие приложений для установки в соответствующих папках:

И так для каждого приложения

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

После этого запускаем функции установки каждого приложения одно за одним. Каждая следующая функция должна запускаться после завершения предыдущей

Первым запускается установка Google Chrome:

QProcess – класс для запуска внешних процессов. Здесь он используется для того, чтобы определить когда закончиться выполнении программы установки Chrome.exe, т.е. когда завершиться инсталляция, объект proc испустит сигнал завершения finished(int, QProcess::ExitStatus) после чего мы начнем установку следующего приложения уже в методе chromFinished. Далее указываем инсталлятору флаг бесшумной установки ‘-ms’ который позволит установить приложения без открытия каких-либо диалоговых окон.

После того, как завершиться процесс установки Google Chrome, выполниться метод chromFinished(int, QProcess::ExitStatus) в котором мы начинаем установку KMPlayer

В runSetupKmplayer все аналогично функции runSetupChrome, только флаг бесшумной установки у KMPlayer другой — ‘/s’. После завершения установки KMPlayer выполниться метод kmFinished(int, QProcess::ExitStatus) в котором мы начинаем установку WinRar

Здесь все аналогично предыдущим функциям. После установки WinRar запуститься метод rarFinished(int, QProcess::ExitStatus) в котором мы начинаем установку K-Lite Codeck с флагом ‘/VERYSILENT’

После завершения этого этапа запуститься метод codecFinished(int, QProcess::ExitStatus) в котором мы начинаем установку WinDjView. А здесь уже интереснее Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

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

Здесь обнуляются все переменные таймаутов, которые будут помогать задерживать ненадолго запуск API функций, чтобы мастер установки успел переключить страницу на следующий шаг. Также здесь создается и запускается таймер для первой страницы, который после 0.5 секунды вызовет метод checkDjwWindows1() в котором идет проверка, появилось ли нужное окно, если не появилось, выходим из функции и ждем еще 0.5 сек и так до появления нужного окошка(или выхода таймаута в 50 сек). После появления окошка останавливаем таймер и начинаем выполнять нужные нам действия на первой странице мастера

Здесь находим хендл нужного окна:

Здесь находим нужную нам кнопку ОК:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Отсылаем сигнал клика(Mouse Down+Mouse Up):

И запускаем таймер для следующего окна мастера установки:

Чтобы вызывать функции WinAPI нам нужно подключить заголовочный файл windows.h

Далее все по той же схеме, таймер ждет открытия нужного окна(с нужным заголовком) и после этого находит нужную кнопку и отсылаем ей сигнал нажатия:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Следующее окошко абсолютно идентичное по коду:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Следующее окошко тоже:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Далее чуть посложнее – нужно снять галочки с параметров установки Яндекс.Бар и нажать Установить:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Ниже привожу полный код метода, а дальше распишу какие функции за что отвечают:

Здесь все как обычно, находим хендл главного окна:

Далее находим нужную нам панель с флажками внутри родительского окна(wnd):

Откуда взялось число 32770? Это код нужной нам панели с флажками. Я его получил через инструмент Spy++ в Visual Studio

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Он позволяет отследить нужные хендлы элементов в Windows окошках. Нужно нажать на мишень в окне Find Window и навести на нужное окошко или элемент в окне и Spy++ отобразит хендл окна

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Далее внутри панели находим флажок Настроить параметры установки и щелкаем по нему чтобы активировать:

После этого находим нужные флажки и снимаем их:

После этого жмем Установить:

Далее на следующей странице нужно просто щелкнуть по кнопке Далее:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Далее нужно снять две галочки на последней странице установки и нажать готово. Действуем также как и раньше:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

На этом установка заканчивается.

Вначале, когда я запускал этот автоустановщик без таймаутов, API функции упорно не хотели выполняться, пока я не понял, в чем было дело, нужно все делать шаг за шагом с задержками на нужное время, потому как каждая страница мастера установки открывается через различные промежутки времени

Источник

Автоматизация установки софта на чистую Windows

Наверное вы задавались вопросом, а можно ли упростить себе переустановку системы.
Конечно вы подразумеваете что переустановка Windows включает установку драйверов и нужного ПО. Office, Браузер и так далее.

Программа называется Silent Install Helper. Ссылка на sourceforge программы: sourceforge.net/projects/sih

Программа скачивается и запускается без установки.

Главное окно программы:

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Эта программа обладает огромными возможностями для автоматизации установки.
Программа может создать скрипт для авто установки софта.

И так же установить весь софт прямо из программы.

Нам нужно создать скрипт для установки.

В Menu Bar в интерфейсе нам нужно выбрать пункт Installer.

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

В зависимости если от наших хотелок мы можем выбрать папку с инсталляторами или отдельно инсталляторы.

И после добавление всех установщиков нажимаем на галочку возле каждого инсталлятора.

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

И потом нажимаем пункт Tools нажимаем пункт Create *.cmd file.

Программа про анализирует установщик и создаст скрипт или запустит установку.

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

И сохраняем этот файл куда-то.

Как сделать автоустановку программ. Смотреть фото Как сделать автоустановку программ. Смотреть картинку Как сделать автоустановку программ. Картинка про Как сделать автоустановку программ. Фото Как сделать автоустановку программ

Программа создаст файл с примерно таким контентом:

Программа проанализирует инсталлятор и создаст скрипт для тихой установки программ если это возможно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *