Мне нужно передать переменную для циклического перебора корней реестра, чтобы собрать все установленные версии Python (разные версии могут быть установлены для всех пользователей или для текущего пользователя), но следующий упрощенный фрагмент не будет компилироваться:
Var PYTHON_VERSION
Var REGISTRY_ROOTS
Var REGISTRY_ROOT
Function getPythonVersions
StrCpy $REGISTRY_ROOTS "HKLM HKCU"
StrCpy $1 1
loop:
${WordFind} "$REGISTRY_ROOTS" " " "E+$1" $REGISTRY_ROOT
StrCmp $REGISTRY_ROOT "2" done
EnumRegKey $PYTHON_VERSION $REGISTRY_ROOT "Software\Python\PythonCore" 0
MessageBox MB_OK "$PYTHON_VERSION"
IntOp $1 $1 + 1
goto loop
done:
FunctionEnd
Я получаю следующую ошибку:
Usage: EnumRegKey $(user_var: output) rootkey subkey index
root_key=(HKCR|HKLM|HKCU|HKU|HKCC|HKDD|HKPD|SHCTX)
Есть ли способ перебрать корни реестра?