Я искал возможность автоматизировать обновление антивируса в рабочей сети.
Экспериментировал в основном с версией Avira AntiVir PersonalEdition Classic, но также сравнивал её с Avira AntiVir Windows Workstation и частично с Avira Premium Security Suite.
Выяснил вот что. Есть два основных способа. В настройках они называются "via web server" и "via file server". Первый через HTTP, второй из папки.
Причем если в Avira AntiVir Windows Workstation это настраивается через конфигурацию, то в Classic и Security Suite эти все возможности заблокированы.
Но все можно настроить через файлы конфигурации.
В файле AVWIN.INI нас интересует блок [UPDATE].
А в нем следующие значения:
DownloadLocation=1
Тип обновления 0 - из папки, 1 - через HTTP.
ShareDownloadUrl=file://server/AntiVir/upd/
Путь для обновления из папки.
InternetDownloadUrl=http://server/AntiVir/upd
Путь для обновления через HTTP.
Файл AVWIN.INI может быть либо в папке, в которую устанавливали программу, либо где-то в "c:\Documents and Settings\All Users\Application Data\название продукта".
Еще некоторые настройки есть в файле "update.conf", искать его там же.
Если не грузит с нужного сервера, можно изменить поле DefaultSrv.
Желающие поэспериментировать с обновлениями для других версий, могут попробовать изменить значение "productfile".
В этом случае обновление, скорее всего, пройдет нормально, но не факт, что потом все будет работать.
Зависит от того, насколько сильно отличаются версии программ.
После любых изменений файла "update.conf" поставьте ему атрибут "только для чтения", иначе при обновлении восстановится исходный.
Стоит добавить, что есть еще и третий способ - для Windows систем из zip архива. Запускается из меню "Update/Manual update...".
Но это придется вручную, поэтому я с ним не разбирался.
Лучше ставить вариант - из папки, т.к. в индексных файлах обновления тоже прописаны родные сервера.
И уж самый крайний случай, для заядлых эспериментаторов, как я
Можно править и индексные файлы обновления (*.info; *.idx), но придется перебивать их md5 в других, связанных файлах.
Теперь о самом сервере.
В папке, из которой будут обновляться клиенты, нужно создать зеркало обновления.
Есть такие варианты:
1. С помощью mirror скрипта.
http://dl.antivir.de/down/unix/mirror.zip Этот вариант для unix систем с помощью shell скрипта.
Если верить документации, возможностей много, ну и, если разобраться, можно подправить под себя.
Проверял только частично, вроде работает.
Скачивает обновления для следующих модулей:
core | AntiVir engine / VDF
monovdf | Mono-VDF (deprecated)
wincore | core + Windows reparature DLL
winwks | wincore + AntiVir Windows Workstation
av7updater | AntiVir AV7 updater package
win7wks_unicode | AntiVir Windows Workstation (v7) NT/XP
win7wks_ansi | AntiVir Windows Workstation (v7) 9x/ME
mailgate | core + AntiVir UNIX MailGate
webgate | core + AntiVir UNIX WebGate
winupdman | Windows Update Manager
2. С помощью Antivir Update Manager
http://dl.antivir.de/down/windows/antivir_update_manager_en.exe Устанавливается как компонент консоли управления Windows.
Скачивает обновления продуктов для корпоративной сети.
Ничего добавить нельзя.
3. Так как для большинства продуктов готовых решений нет, то я для себя составил 2 списка файлов для нужных продуктов в FlashGet. Им и качаю.
Иногда приходится почитать логи, добавить файл, другой.
Вот только, прошлые версии FlashGet умели качать только изменившиеся файлы, а 1.8, зараза, при выборе пункта "Обновить" всегда качает все с начала.
Или я в новых версиях эту фишку не нашел.
Так что пока ищу загрузчик, который бы лучше подходил для этой задачи. Буду рад услышать советы.