Что нового

[Автоматизация] Как с помощью AutoIt реализовать пакет массовой инсталляции

S1R1US

скрипт мне запили!
Сообщения
50
Репутация
6
Добрый день уважаемые форумчане. Я недавно стал осваивать Autoit и написал несколько скриптов для автоматической установки приложений. Они исправно работают по отдельности. Хочу у Вас узнать:
1.) Как можно объединить их все в один инсталляционный пакет, причём так чтобы все необходимые файлы находились внутри пакета и распаковывались при установке в некую папку %SystemRoot%\Temp откуда бы и происходила бы установка. Интересуют команды для включения файлов в этот пакет, переходу по подкаталогам, а также дайте совет по упаковке. Если не затруднит в примерах каких нибудь пакетов.
2.) Т.к. я новичок, у меня возникла проблема при работе с подкаталогами и вызову из них файлов, большая просьба пролить свет, на то как правильно вызвать программу и файл из подкаталога в каталоге со скриптом, учитывая, что скрипт например будет находиться на сменном носителе(съемный Ж/Д).
3.) Если опять же не затруднит, прошу дать максимально развернутые ответы, благодарю за любую помощь.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
у нас принят формат - "один вопрос - одна тема"
по-ж-та, придерживайся этой несложной концепции и отдели вопросы для новых тем.
 
Автор
S

S1R1US

скрипт мне запили!
Сообщения
50
Репутация
6
Я прошу меня извинить, но дело в том, что этот 2-й вопрос неотделим от основного, т.к. я не имею понятия как его реализовать, вернее ознакомившись с Макро для папок и прочим, мне этого не удалось сделать, полагаю, что создав вторую тему, только запутаю тех кто попытается мне помочь не зная чего я хочу добиться. А дублировать тему не вижу смысла. Подскажите пожалуйста, как мне тогда правильно оформить мои вопросы в соответствии с правилами данного форума.
 
Автор
S

S1R1US

скрипт мне запили!
Сообщения
50
Репутация
6
С первой частью вопроса практически разобрался, благодаря некоторым постам на форуме, однако всё ещё остаётся проблема при вызове отдельных программ со сменного носителя... Ниже прилагаю пример скрипта, который включает в себя необходимый файл при компиляции, распаковывается на рабочем столе при запуске и устанавливается, затем удаляет распакованную программу(пример на WinRar'e).

Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Res_File_Add=D:\INSTALL\WinRAR\wrar391ru.exe ; путь где лежит программа для вставки
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ; настройки для компиляции
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.0
 Author:         %username%

 Script Function:
	Install Winrar 3.91 version

#ce ----------------------------------------------------------------------------
$b = True
If $b = True Then FileInstall("D:\INSTALL\WinRAR\wrar391ru.exe", @DesktopCommonDir & '\wrar391ru.exe', 1) ; помещаем в скрипт исполняемый файл, а затем размещаем его на рабочем столе
Run("wrar391ru.exe", @DesktopCommonDir); установка приложения
WinExists("wrar391ru.exe", "WinRAR 3.91 (русская 32-разрядная версия)")
WinWaitActive("WinRAR 3.91 (русская 32-разрядная версия)")
Send("{Enter}")
WinWaitActive("Установка WinRAR")
ControlClick("Установка WinRAR", "", "[ID:5116]")
ControlClick("Установка WinRAR", "", "[ID:5119]")
Send("{Enter}")
WinWaitActive("Установка WinRAR", "Готово")
ControlClick("Установка WinRAR", "", "[CLASS:Button; INSTANCE:1]")
WinWaitActive("WinRAR", "All Users\Главное меню\Программы\WinRAR")
WinClose("WinRAR", "All Users\Главное меню\Программы\WinRAR")
FileDelete(@DesktopCommonDir & '\wrar391ru.exe') ;удаляем распакованный файл с рабочего стола
Exit
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
1. Можно сделать все намного проще - запаковать все в архив и сделать исполняемый файл (насколько я знаю, в 7z и WinRAR такая функция есть), который разархивирует свои внутренности в TEMP и выполнит нужный файл.
Под "нужным файлом" имеется ввиду т.н. сборщик. Программа, которая читает из конфига файлы/папки а затем предоставляет пользователю выбор для установки. Программа сборки очень простая - запуск выбранных скриптов установки по порядку.
Из них можно предложить WPI (используется в звере... ну вы понели) или осторожнореклама вот этот скрипт на AutoIt.
2. Отпадает при использовании способа выше, но все равно:
Код:
Run() ;простой запуск
ShellExecute() ;запуск в том числе файлов
 
Автор
S

S1R1US

скрипт мне запили!
Сообщения
50
Репутация
6
Большое спасибо! Но до GUI интерфейса я ещё покамест не добрался, я знал про упаковщики, в т.ч. тот же винрар содержит ф-ю SFX архива, который при выполнении осуществит эти функции, только мне не нужен был архиватор, а так чтобы это делалось всё одним .exe файлом. Сейчас я немного изменил взгляды, когда доделаю все скрипты автоустановки, то попробую их объединить через GUI интерфейс с фунциями "Автоустановки" и "Установка по выбору".
Nik_rus
В любом случае благодарен за помощь! :ok:
 
Верх