Skip to content
⌘ NSIS Forum Archive

Howto ReadRegStr (default) Subkeys?

5 posts

dbach#

Howto ReadRegStr (default) Subkeys?

Hi Community.

I have a strange behaviour here:
Section ReadRegTest
ClearErrors
    ReadRegStr $0 HKLM "Software" ""
    IfErrors Software_No Software_Yes
Software_Yes:
MessageBox MB_OK "Yes, Software path was found"
Goto Reg1End
        
Software_No:
MessageBox MB_OK "No, Software path was NOT found"
Goto Reg1End
reg1end:
SectionEnd
Section ReadRegTestII
ClearErrors
    ReadRegStr $0 HKLM "Software\Microsoft" ""
    IfErrors Microsoft_No Microsoft_Yes
Microsoft_Yes:
MessageBox MB_OK "Yes, Microsoft path was found"
Goto Reg2End
        
Microsoft_No:
MessageBox MB_OK "No, Mirosoft path was NOT found"
Goto Reg2End
Reg2End:
SectionEnd 
Section 1 says "Yes" (HKLM\Software exists)
Section 2 says "No" (HKLM\Software\Microsoft does not exists but it does)

Also, these screenshots seems pretty interessting:






Now I am confused.

All I need is to know if the SubKey is there or not. But how can I do this when there is no "default"?
Animaether#
are you sure it's not just the lack of a backslash in your code?

"SoftwareMicrosoft" -> "Software\Microsoft" ?
dbach#
Originally posted by Animaether
are you sure it's not just the lack of a backslash in your code?

"SoftwareMicrosoft" -> "Software\Microsoft" ?
No, the "\" was removed on this posting (?). On the screenshot (Line 173/178) you can see that I ask for the (correct) subkey. But there is no value in the "Microsoft" Subkey. :|

Thnx4ur reply.
Afrow UK#
Regedit shows 'Wert nicht gesetzt' (Value not set) for your value which means there isn't one.

Stu
Animaether#
odd (the backslash)

anyway - try with EnumRegKey instead, perhaps?

EnumRegKey $0 HKLM "Software" 0
EnumRegKey $0 HKLM "Software\Microsoft" 0