Тестировалось на windows 7 prof (думаю что подойдет для любой, ибо используются только встроенные утилиты)
Методика:
0. Готовим FTP - создаем папки, пользователей, раздаем права.
1. Готовим архив в winrar, самораспаковывающий, с автозапуском установки. Для клиента и сервера отдельные архивы.
2. Размещаем его на нашем FTP
3. Пишем скрипт, который бы этот файл забрал с FTP в папку с самим скриптом.
4. Так же желательно, что бы скрипт сразу запустил после скачивания архива его на распаковку (а установка уже сработает).
Покажем, как это работает на примере Клиентской части CyberFleet
Выполнение:
0. Готовим на фтп пользователя (у меня ftp_public, с таким же паролем) (так как пользователь получится публичным, то крайне желательно дать минимальные права для него). Создаем на FTP папку CF_Install (я создал в корне), создаем пользователя с возможностью чтения, но без записи из папки, прочие папки закрыты от работы.
1. Готовим архив:
| - Правую кнопку на папке Client (содержащую файлы установки клиента), "Добавить в архив..."
- галку "Создать SFX-Архив" - что бы получился exe файл
- Имя CFClient11725.exe (в скрипте будем указывать именно это имя)
- На закладке Дополнительно, кнопка Параметры SFX, закладка Общие - в строке "Выполнить после распавоки" пишем ".\Client\setup.exe", ОК, ОК
- Ждем завершения.
- Получился файл
CFClient11725.exe
|
2. Размещаем файл на FTP: отправляем файл в папку CF_Install на вашем ФТП.
3. Пишем скрипт:
Название | 02_CFClien_run.cmd |
содержимое | echo ftp -s:load_client.ftp >load_client.cmd echo pause >>load_client.cmd echo CFClient17125.exe >>load_client.cmd
echo open 91.202.20.118>load_client.ftp echo ftp_public>>load_client.ftp echo ftp_public>>load_client.ftp echo cd /CF_install/>>load_client.ftp echo get "CFClient17125.exe">>load_client.ftp echo bye>>load_client.ftp |
Как видим скрипт создает два файла:
- load_client.cmd, с содержимым
который запускает команду ftp с параметром -s, и файлом load_client.ftp,
пауза (ждем нажатия любой кнопки - так, что бы показать что все скачено),
запускаем файл CFClient17125.exe на исполнение (распаковку, и запуск setup).
- load_client.ftp - который содержит команды подключения к FTP
open you_ip - соединение с вашим FTP
ftp_public - пользователь, возможно для вашего FTP нужно будет написать USER ftp_public
ftp_public - пароль ftp_public
cd /CF_install/ - смена каталога на CF_install
get "CFClient17125.exe" - получение файла с указанным именем в текущую папку
bye - закрытие подключения к FTP
Распакуйте скрипты в отдельный каталог, запустите на выполнение 02_CFClien_run.cmd - посмотрите что получается.
В итого:
передаем клиенту 400 байт, запускаем, идем заниматься своими делами, возвращаемся, смотрим - опа, скачалось, и ждет нажатия кнопки, жмем кнопку, опа запустилось на установку.
Минусы: доступ к FTP должен быть открыт у клиента.
PS: В качестве подопытных файлов на фтп размещен TeamViewerQS.exe (переименован), потому будет запускаться именно он, а не распаковка/установка CyberFleet