MKN, Вот такой макрос получился
nsis RegKeyExists
Код:

# RETURN value:
# 0 : not exists
# >0 : exists
!define RegKeyExists '!insertmacro RegKeyExists'
!macro RegKeyExists RETURN ROOTKEY SUBKEY
Push $0
Push $1
StrCpy $0 0
SetRegView 32
ClearErrors
EnumRegKey $1 ${ROOTKEY} "${SUBKEY}" 0
IfErrors +2
IntOp $0 $0 + 1
SetRegView lastused
${If} ${RunningX64}
SetRegView 64
ClearErrors
EnumRegKey $1 ${ROOTKEY} "${SUBKEY}" 0
IfErrors +2
IntOp $0 $0 + 1
SetRegView lastused
${EndIf}
Pop $1
Exch $0
Pop ${RETURN}
!macroend
Если есть необходимость знать точно, существует ключ для 32 или 64 бит процесса, то чуть сложнее будет
Внезапно оказалось, что SetRegView 64 благотворно влияет на плагин registry.
Код:

${registry::KeyExists} "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Scan" $1
возвращает 0, т.е. ключ найден
Цитата MKN:
но нужный инфо-вывод в SDDL формате... Надо как то парсить-расшифровывать. »
|
С виду парсится должно без хлопот даже в nsis...