Eset, автоотслеживание параметра в реестре при установки антивируса nod32 WScript

Скриптик для автоотслеживания параметра, отвечающего за включение опции обновления с зеркала в антивирусах ESET NOD EAV v.4-8
Перед запуском установки антивируса запустить скрипт, при смене значения нужного параметра он восстановит нужное и выведет сообщение,
после чего завершит работу.


/* Файл  ESET_activate_mirror.js */

var WSHShell = WScript.CreateObject("WScript.Shell"),
   RegKey   = "HKEY_LOCAL_MACHINE\\SOFTWARE\\ESET\\ESET Security\\CurrentVersion\\Info\\PackageFeatures",
   value    = 0x0; // для включения зеркала в версиях антивируса EAV 4-8 "PackageFeatures" должно быть = 0x0

function set_mirror_on() {
var IsNotExit=true; // признак выхода из цикла while
try { // Проверяем, есть ли в реестре параметр, который надо создать и проконтролировать попыткой прочитать его
 tmp = WSHShell.RegRead(RegKey);
}  
catch(e) {
 if (e.description.length != 0) { //Если чтение завершено с ошибкой
  WSHShell.RegWrite(RegKey,value,"REG_DWORD"); // то создаем параметр
  WSHShell.Popup(e.description+"\nКод ошибки:"+ e.number+"\nПараметр создан!",3);  // для теста, можно отключить
  //return e.number // выход из функции с возвратом кода ошибки
 }
}  
while (IsNotExit) {
 WScript.Sleep(1000);
 tmp = WSHShell.RegRead(RegKey);
 if (tmp == value) {
  continue
 } else {
  WSHShell.RegWrite(RegKey,value,"REG_DWORD"); // восстанавливаем нужное нам значение
  WSHShell.Popup("Warning! Value was changed: "+tmp+ ". Restored to: "+value,5); // сообщаем, что было изменение
  IsNotExit = false // сбрасываем признак выхода из цикла while
 }
}
return 0 // в принципе, необязательно, и так выйдет, но для порядка...
}

set_mirror_on();
WScript.Quit()
Контроль раздачи базы данных nod32
nod32 скрипт для удаленного запуска обновления
Eset nod32 http header
Все о nod32