Требуется изменение значения ветки реестра в процессе установки программы
Алгоритм:
1) ждем появления параметра ветки реестра
2) когда появился параметр в реестре меняем его значение на другое
[решено] скрипт изменения значения ветки реестра в процессе установки программы
-
adima
Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы
Каков глубинный смысл менять именно «в процессе»? Дожидаемся окончания процесса установки и меняем значение параметра.
-
Iska
Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы
смысл в том что это антивирус и когда установился он защищает ветки реестра от изменений
-
adima
Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы
отключить антивирус, поменять значение, включить антивирус
-
ferget
Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы
1. Какой антивирус?
2. Проверьте, есть ли возможность внести изменения до установки — не «затрёт» ли антивирус его своим значением при установке.
3. Если это продолжение уже имевшегося обсуждения в какой-либо из имеющихся тем на форуме — есть смысл привести на него ссылку здесь.
2. Проверьте, есть ли возможность внести изменения до установки — не «затрёт» ли антивирус его своим значением при установке.
3. Если это продолжение уже имевшегося обсуждения в какой-либо из имеющихся тем на форуме — есть смысл привести на него ссылку здесь.
-
Iska
Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы
1.ESET Антивирус
2. Возможность есть
Скрипт я нашел но есть прoблемы:
$path = "HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip";
Dim $minidb[1];
For $i=1 To 10
$val=RegEnumVal($path, $i);
If (@error0) Then ExitLoop
ReDim $minidb[$i];
$minidb[$i-1]=$val;
Next
While 1
For $i=1 To 10
$val=RegEnumVal($path, $i);
If (@error0) Then ExitLoop
If $minidb[$i-1]$val Then ;;;;;
MsgBox(48,"Test", "Обнаружены изменения!")
EndIf
Next
WEnd
Проблема:
Через раз вылетает с ошибкой ;;;;; Array variable has incorrect number of subscripts or subscript dimension range exceeded
2. Возможность есть
Скрипт я нашел но есть прoблемы:
$path = "HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip";
Dim $minidb[1];
For $i=1 To 10
$val=RegEnumVal($path, $i);
If (@error0) Then ExitLoop
ReDim $minidb[$i];
$minidb[$i-1]=$val;
Next
While 1
For $i=1 To 10
$val=RegEnumVal($path, $i);
If (@error0) Then ExitLoop
If $minidb[$i-1]$val Then ;;;;;
MsgBox(48,"Test", "Обнаружены изменения!")
EndIf
Next
WEnd
Проблема:
Через раз вылетает с ошибкой ;;;;; Array variable has incorrect number of subscripts or subscript dimension range exceeded
-
Iska
Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы
Что-то не очень понятное. Всё, что Вам нужно — читать и ждать:
Код:
Код:
Код: Выделить всё
AutoItSetOption("MustDeclareVars", 1)
Local $sSubKey = "HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip"
Local $sValueName = "Path2"
Local $sValue
Do
Sleep(100)
$sValue = RegRead($sSubKey, $sValueName)
Until $sValue ""
MsgBox(48, "Параметр создан", "[" & $sSubKey & "\" & $sValueName & "] = " & $sValue)-
Iska
Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы
Дополнение: в вышеприведённом коде подразумевается, что созданный параметр будет не пустой. Иначе так и будет крутиться внутри цикла до бесконечности.