Что нового

[Автоматизация] Необхедимо написать автоустановщик на Nod32.msi

Montekristo

Новичок
Сообщения
21
Репутация
0
Здравствуйте форумчане. Я не давно начал разбираться в Autoit. Откровенно говоря Я довольно тяжело двигаюсь в направлению к свету :stars:.
Вопрос заключается в том что я не могу даже запустить с помощью скрипта на Autoit установщик.
Вот на что у меня хватило моих знаний :'(
Код:
$sPathToProgam = "i:\INSTALL\Standart v1.5\Nod32\eavbe_nt32_rus_4.2.71.3.msi"
$sMainWindowName = "Установка Установка ESET NOD32 Antivirus"
Run("$sPathToProgam")

Прошу подсказать доступным языком для человека который впервые сталкивается с каким либо видом программированием :-[.
Ключи тихой установки не подходят так как надо внести много изменений. :IL_AutoIt_1:
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Код:
$sPathToProgam = "i:\INSTALL\Standart v1.5\Nod32\eavbe_nt32_rus_4.2.71.3.msi"
$sMainWindowName = "Установка Установка ESET NOD32 Antivirus"
Run($sPathToProgam)
; либо так ShellExecute($sPathToProgam)
 

ynbIpb

Скриптер
Сообщения
399
Репутация
110
*.msi это не исполняемый файл, его нельзя запускать через Run
только ShellExecute
 
Автор
M

Montekristo

Новичок
Сообщения
21
Репутация
0
Спасибо ребятки смог запустить! возникли новые проблемы но это уже другая история и тема. Если сам не смогу найти... Я знаю к кому обратится ;D :IL_AutoIt_1:
Код:
ShellExecute($sPathToProgam)
это помогло! :beer:
 
Автор
M

Montekristo

Новичок
Сообщения
21
Репутация
0
beliy
Благодарю за ссылку она очень полезна в последствии будет. Но есть не большое но существенное Но. Мне необходимо будет установить еще, как минимум 2программы msi. И Я хотел бы разобраться в установки с помощью autoit. Проще говоря мне нужно создать установщик который будет заливать 10 программ на компьютер :smile: с обычными .exe я более менее разобрался, а вот .msi для меня пока темный лес и Я :IL_AutoIt_1: поэтому хочу разобраться в нем, а практика и помощь в этом ускорит процесс.


Добавлено:
Сообщение автоматически объединено:

Код:
$sPathToProgam = "i:\INSTALL\Standart v1.5\Nod32\ESET NOD32 Antivirus4.2.76.1 Russian 32-bit.msi"
$sMainWindowName = "Установка ESET NOD32 Antivirus"

ShellExecute($sPathToProgam)
WinWait("Вас приветствует матсер установки ESET NOD32 Antivirus")
Send("{enter}")

Установщик запускается. Теперь подскажите пожалуйста как теперь имитировать нажатия клавиш так как
Код:
Send("{enter}")
не отрабатывает.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Montekristo [?]
не отрабатывает
Да у вас, похоже, и окно не находит: опечатка в заголовке.
Кстати, это не заголовок, а текст. Он должен быть вторым параметром в функции WinWait().
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Мне необходимо будет установить еще, как минимум 2программы msi

Лично мое имхо, что рациональнее перепаковать инсталятор или создать свой, чем устанавливать с помощью имитации действий пользователя...
 
Автор
M

Montekristo

Новичок
Сообщения
21
Репутация
0
Возможно я приду к этому со временем. Но сейчас меня интересует этот вариант. Но все равно спс.
Код:
$sPathToProgam = "i:\INSTALL\Standart v1.5\Nod32\eavbe_nt32_rus_4.2.71.3.msi"
$sMainWindowName = "Установка ESET NOD32 Antivirus"
; Код программы
;Установка программы
ShellExecute($sPathToProgam)
$hWinNOD32 = WinGetHandle($sMainWindowName)
WinWait($hWinNOD32, "Вы можете изменить способ установки компонентов ESET NOD32 Antivirus")
ControlClick($hWinNOD32, "Вы можете изменить способ установки компонентов ESET NOD32 Antivirus", "[CLASS:Button; INSTANCE:1]")

вот что вышло. Таки работает.
 
Верх