Процедура обновления

Обновление происходит следующим образом:

1.Модуль обновления Dr.Web Updater читает конфигурационный файл (по умолчанию – drweb32.ini, или тот, который указан при помощи аргумента командной строки --ini).

2.Из конфигурационного файла используются параметры, находящиеся в секции [Updater] (описание параметров см. выше), а также параметры EnginePath, VirusBase, UpdatePath и PidFile.

3.Dr.Web Updater выбирает сервер ВСО Dr.Web для получения обновлений. Выбор сервера обновления происходит следующим образом:

Производится чтение файлов со списками серверов, указанных в параметрах DrlFile и CustomDrlFile конфигурационного файла;

Если оба файла отсутствуют, то обновление не происходит;

Если существует только один из файлов (указанный в DrlFile или CustomDrlFile), то используется существующий, вне зависимости от значения, указанного в параметре FallbackToDrl;

Если существуют оба файла, то в первую очередь проверяются сервера из файла, указанного в CustomDrlFile;

Если не получилось подключиться ни к одному из серверов, заданных в файле, указанном в CustomDrlFile, и значение параметра FallbackToDrl=Yes, то проверяются сервера из файла, указанного в DrlFile. В противном случае обновление не происходит.

4.Производятся попытки подключения к случайно выбираемым серверам из списка, содержащегося в файле, до тех пор, пока попытка подключения к серверу не окажется успешной (при подключении Dr.Web Updater ожидает ответ от выбранного сервера в течение периода времени, указанного в параметре Timeout).

5.Модуль запрашивает с сервера ВСО Dr.Web, к которому удалось подключиться, список обновлений, а затем lzma-архивы соответствующих баз. В случае отсутствия последних базы скачиваются в виде vdb-файлов. Для распаковывания lzma-архивов используется утилита lzma, путь к которой (точнее, к каталогу, в котором она располагается) задается значением параметра LzmaDecoderPath.

6.Обновления раскладываются по каталогам, как описано в разделе Обновление антивируса и вирусных баз.