Утилита для обновления ?ела

Материал из ASV2 manual
Перейти к: навигация, поиск

Утилита для обновления файлов шела

Данная утилита предназначена для обновления изменившихся файлов в шеле.


Update shell.png


Принцип работы :

  • Вместо AstaShell загружается утилита обновления
  • Специальная программа подключается к указанному в настройках AstaShell IP-адресу сервера и получает список обновления
  • Проверяет по списку отсутствующие файлы, а так же дату создания (изменения) существующих файлов
  • Если файла нет, либо на сервере присутствует вариант файла с более поздней датой создания, происходит его загрузка на клиентский компьютер
  • После загрузки файлов происходит запуск AstaShell

Основные возможности :

  • Возможность задать IP-адрес сервера в параметрах запуска (update.exe 192.168.0.100). Соответственно, для того чтобы установить AstaShell, достаточно скопировать один файл update.exe на клиентский компьютер и запустить его там.
  • В программе реализовано автоматическое восстановление соединения. Если при обновлении был выключен (перезагружен сервер обновления и т.п.) то утилита обновления будет ждать, когда сервер заработает, после чего продолжит загрузку файлов с того момента, на котором был разрыв связи.
  • Проверка только изменившихся файлов. Означает это то, что можно взять с любого компьютера некоторый каталог с настройками и добавить изменившиеся файлы в каталог обновления. При запуске утилиты обновления будут обновлены только настройки (так как у них дата и время изменения старше той, которая установлена на клиентских компьютерах)
  • Утилита обновления не использует NETBIOS а работает через свой протокол (поверх tcp). В связи с этим нет никаких ограничений на одновременное подключение более 10 машин к одному серверу, не нужно расшаривать каталоги. Так как отпадает необходимость в использовании протокола NETBIOS для работы с файлами и каталогами (особенно это будет полезно для больших клубов)
  • Обновление проходит без перезагрузки (и без завершения сеанса) компьютера
  • Команду на обновление можно дать с сервера. При этом произойдёт отключение шела и запуск программы обновления. Всё это работает прозрачно. Таким образом клиент может сидеть на компьютере и играть в игры. в процессе обновления ПО. Т.е работа клиента не прерывается
  • Построение всего дерева каталогов при обновлении. Вы можете записывать новые темы, добавлять различные директории и прочее. Всё будет обновлено.


Куда и что сложить чтобы файлы обновлялись

  • Обновленные файлы должны лежать в каталоге Update сервиса зашиты AMSShellSService ( путь : ServerService\Update\Shell\*.* ) Только так и никак иначе.
  • Если вы хотите обновить не шел а, например, только настройки, то можно в каталог ServerService\Update\Shell\ добавить только каталог Data с изменившиеся настройками или каталог Theme для загрузки изменившейся темы.
  • В самом шеле нужно указать IP-адрес сервера к которому будет присоединяться утилита обновления для получения списка обновления. Это можно сделать на этапе предварительной настройки шела или непосредственно в настройках шела.
  • Для смены текущей темы, несмотря на дату создания, нужно воспользоваться командой с сервера : Обновление шела + смена темы из каталога обновления. При использовании этой команды будет удалена текущая тема и установлена тема, находящаяся в каталоге Theme на сервере обновления. Обычный вариант обновления заменяет только изменившиеся файлы. Команда полезна тогда, когда вы хотите принудительно поменять на всех выбранных компьютерах тему дизайна.
  • Примечание : При обновлении темы имейте в виду что файл темы в каталоге Theme должен называться theme.froms в противном случае будет загружен только taskbar.
  • Внимание ! обновляемая конфигурация на сервере должна содержать IP-адрес сервера обновления! В противном случае после первого обновления утилита обновления не будет знать куда обращаться за обновлением. Для этого можно скопировать файл Data\Config.ini с любого настроенного шела либо вручную отредактировать параметр [main] - ServerServiceIp= ip адрес сервера


Примечание

  • Если AstaShell начал обновляться, то окно программы обновления не закроется до момента окончания обновления файлов. Сделано это в связи с тем , что файлы программы перезаписываются и во избежание некорректной записи прерывать работу программы обновления нельзя.
  • Сама программа обновления не обновляется во избежание ошибочного закачивания своей копии что привело бы к полной неработоспособности клуба, т.е теперь, если вы даже ошиблись и были закачаны неверные файлы обновления, всегда есть возможность исправить конфигурацию и переписать шел автоматически на всех машинах
  • Нами было протестировано, обновление объёмами AstaShell в 500 мегабайт.
  • Файлы не должны иметь в названии пробелов. Это должны учесть разработчики тем к шелу. Название темы и каталог для хранения темы не должен содержать пробелов. В случае наличия в имени файла пробелов он не будет обновлён.
  • Обновление происходит чере протокол tcp, порт 8008. Следите, чтобы он был разрешёнв Firewall'e на сервере и на клиенте
  • Обновлении работающее по данной схеме имеет ряд преимуществ. А именно: Для обновления не нужно включать сеанс на всех машинах с сервера, обновление только настроек или только темы дизайна, возможность обновления после перезапуска сеанса не вынуждая клиента прерывать работу на компьютере
  • Для обновления самой утилиты update.exe нужно скопировать её вручную.