Devo controllare, se esiste un valore di registro. Come lo posso fare?NSIS - verificare se il valore della chiave del Registro di sistema esiste
Il mio primo approccio:
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}
Ma questo funziona anche quando il valore non esiste. Immagino, perché "non esiste" e le stringhe vuote vengono gestite allo stesso modo.
Con Registry.nsh ho fatto in questo modo:
${registry::Read} "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" "NUL:" $var1 $var2
${IF} $var2 == "REG_SZ"
Ma ottengo un errore, perché il Pop $ {_ STRING} nel registry.nsh non funziona.
Aiuto e suggerimenti benvenuto!
Grazie! Ha funzionato perfettamente! – user3629892