[решено] скрипт изменения значения ветки реестра в процессе установки программы

Ответить
Аватара пользователя
adima

[решено] скрипт изменения значения ветки реестра в процессе установки программы

Сообщение adima »

Требуется изменение значения ветки реестра в процессе установки программы

Алгоритм:

1) ждем появления параметра ветки реестра

2) когда появился параметр в реестре меняем его значение на другое
Аватара пользователя
adima

Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы

Сообщение adima »

Каков глубинный смысл менять именно «в процессе»? Дожидаемся окончания процесса установки и меняем значение параметра.
Аватара пользователя
Iska

Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы

Сообщение Iska »

смысл в том что это антивирус и когда установился он защищает ветки реестра от изменений
Аватара пользователя
ferget

Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы

Сообщение ferget »

1. Какой антивирус?

2. Проверьте, есть ли возможность внести изменения до установки — не «затрёт» ли антивирус его своим значением при установке.

3. Если это продолжение уже имевшегося обсуждения в какой-либо из имеющихся тем на форуме — есть смысл привести на него ссылку здесь.
Аватара пользователя
Iska

Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы

Сообщение Iska »

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
Аватара пользователя
Iska

Re: [решено] скрипт изменения значения ветки реестра в процессе установки программы

Сообщение Iska »

Что-то не очень понятное. Всё, что Вам нужно — читать и ждать:



Код:

Код: Выделить всё

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: [решено] скрипт изменения значения ветки реестра в процессе установки программы

Сообщение Iska »

Дополнение: в вышеприведённом коде подразумевается, что созданный параметр будет не пустой. Иначе так и будет крутиться внутри цикла до бесконечности.
Ответить

Вернуться в «AutoIt»