Muszę sprawdzić, czy istnieje wartość rejestru. Jak mogę to zrobić?NSIS - sprawdź, czy istnieje wartość klucza rejestru
Moje pierwsze podejście:
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" "NUL:"
${IF} $0 == ""
MESSAGEBOX MB_OK "NUL exists"
${ELSE}
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" "NUL:" ""
${ENDIF}
Ale to działa również, gdy wartość nie istnieje. Zgaduję, ponieważ "nie istnieje" i pusty ciąg są obsługiwane w ten sam sposób.
Z Registry.nsh zrobiłem to tak:
${registry::Read} "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" "NUL:" $var1 $var2
${IF} $var2 == "REG_SZ"
Ale pojawia się błąd, ponieważ Pop $ _ {STRING} w registry.nsh nie działa.
Pomoc i sugestie mile widziane!
Dzięki! To działało idealnie! – user3629892