Что нового

[Автоматизация] Установка софта с серверной машины.

Uberdevice

This is heavy
Сообщения
4
Репутация
0
Всем доброго времени суток, товарищи форумчане. :smile: Я недавно начал осваивать AutoIt, почитал пару книжек, пошуршал форумы и встала одна проблема. Написать маленькую программу о том, как поставить софт из определенного места на винте не составило большого труда, а вот как поставить софт, если он лежит на удаленной машине с расшареной папкой? Т.е. юзер делает клик по программке, выставляет галочки в чекбоксах напротив нужных ему софтинок, а программа ставит всё в тихом режиме беря дистрибутивы с удаленной машины. Интересует именно тот момент, как описать путь к дистрибутивам и саму функцию удаленной установки, т.к. GUI у меня уже сделан.
P.S. Версия AutoIt - v3.3.8.1
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
http://www.youtube.com/watch?v=Fpox0nzuoZo :smile:
http://www.youtube.com/watch?v=e5NFqq9Ztxc :smile:


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

как описать путь к дистрибутивам
Их надо четко обозначить, а не описывать

Либо в скрипте в переменных сразу указать
Либо *.ini + проверка
 
Автор
U

Uberdevice

This is heavy
Сообщения
4
Репутация
0
Их надо четко обозначить, а не описывать
Либо в скрипте в переменных сразу указать
Либо *.ini + проверка
Если указывать их в кач-ве переменных, то в дальнейшем использовать нечто типа
Код:
Run("setup.exe /quiet")
то наврятли получится, я правильно понимаю? Можно Вас попросить пример для наглядности?
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
пример для наглядности
Что-то попробую. Но только на основе того,
что имею - локальная сеть.



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

P/S Чуть не забыл
Код вашего GUI представьте, пожалуйста
Иначе мне импровизировать прийдется.
Или еще, мне так кажется, - ваш запрос в запросы могут отправить.
Ведь нет ни одной строчки вашего кода, пусть даже и чистого GUI
 
Автор
U

Uberdevice

This is heavy
Сообщения
4
Репутация
0
Именно для этого я и пытаюсь сделать скрипт, сервер и рабочие станции находятся в одной локальной сети. Вот код GUI:
Код:
$i1=1
$i2=1
$i3=0
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Universal Soft Installer", 482, 208, 222, 272)
$Group1 = GUICtrlCreateGroup("Софт", 8, 8, 270, 97)
$Checkbox1 = GUICtrlCreateCheckbox("7-Zip", 16, 32, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Aimp", 16, 56, 97, 17)
$Checkbox3 = GUICtrlCreateCheckbox("K-Lite Codec Pack Full", 16, 80, 160, 17)
$Checkbox4 = GUICtrlCreateCheckbox("Starburn", 175, 32, 60, 17)
$Checkbox5 = GUICtrlCreateCheckbox("Firefox", 175, 56, 60, 17)
$Checkbox6 = GUICtrlCreateCheckbox("Google Chrome", 175, 80, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Установить", 300, 10, 150, 25, $WS_GROUP)
$Label2 = GUICtrlCreateLabel("Установка...", 8, 144, 92, 17)
$Progress2 = GUICtrlCreateProgress(112, 120, 134, 17)
$Label1 = GUICtrlCreateLabel("", 264, 144, 206, 17)
$Label3 = GUICtrlCreateLabel("Распаковка...", 8, 120, 74, 17)
$Progress1 = GUICtrlCreateProgress(112, 144, 134, 17)
$Label4 = GUICtrlCreateLabel("ОК", 264, 120, 19, 17)
$Button2 = GUICtrlCreateButton("Выход", 8, 176, 75, 25, $WS_GROUP)
$Label5 = GUICtrlCreateLabel("USI v 0.1", 420, 180, 50, 50)


GUICtrlSetData($Progress1,0)
GUICtrlSetData($Progress2,0)
GUICtrlSetState($Label3,$GUI_HIDE)
GUICtrlSetState($Label2,$GUI_HIDE)
GUICtrlSetState($Label1,$GUI_HIDE)
GUICtrlSetState($Label4,$GUI_HIDE)
GUICtrlSetState($Progress1,$GUI_HIDE)
GUICtrlSetState($Progress2,$GUI_HIDE)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Uberdevice [?]
как поставить софт из определенного места на винте не составило большого труда, а вот как поставить софт, если он лежит на удаленной машине с расшареной папкой?
Так же, как и с локального винта. Просто вид путей будет другой.
Например, на компьютере Server на диске C: в папке Soft\Install\Proga\ лежит файл Setup.exe и папка Install расшарена. Тогда локальный путь будет выглядеть: "C:\Soft\Install\Proga\Setup.exe", а сетевой "\\Server\Install\Proga\Setup.exe" и код вида
Код:
Run("\\Server\Install\Proga\Setup.exe /quiet")
работать будет.
 
Автор
U

Uberdevice

This is heavy
Сообщения
4
Репутация
0
Возник вопрос, каким образом сделать так, что бы софт ставился по очереди,т.е. юзер выбирает нужный ему софт ( с помощью чекбоксов ), затем жмёт "установить" и софт начинает ставится не одновременно, а по очереди.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Uberdevice
Еще примерчик
Код:
Setup1()
Setup2()
 
Func Setup1()
   $i=1
   $PID = Run("calc.exe")
   $hWnd = WinWait("[CLASS:SciCalc]", "", 5)
   While ProcessExists($PID) <> 0
	  Sleep(100)   
	  WinSetTitle($hWnd, "", $i)
	  $i+=1
   WEnd
   MsgBox(0, "Exit", "Setup Exit")
EndFunc

Func Setup2()
   $i=1
   $PID = Run("notepad.exe")
   $hWnd = WinWait("[CLASS:Notepad]", "", 5)
   While ProcessExists($PID) <> 0
	  Sleep(100)   
	  WinSetTitle($hWnd, "", $i)
	  $i+=1
   WEnd
   MsgBox(0, "Exit", "Setup 2 Exit")
EndFunc
 
Верх