Search code examples
registrynsis

Unable check registry with NSIS for python installation


I need to check registry for make sure there is no same app with the one i want to to install, and for my issue i want to check python windows registry installation for example

the registry i need to check as belo HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.7

i already use ReadRegStr but unable to detect also ${registry::KeyExists} the result it's the same both function only got exist value when the registry change to "HKEY_LOCAL_MACHINE\SOFTWARE\Python"

${registry::KeyExists} "HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.7" $0
StrCmp $0 "0" haveinstallx
goto notinstall
MessageBox MB_OK "not found"
quit
notinstall:
   MessageBox MB_OK "Not installed"
   Quit

haveinstallx:
   MessageBox MB_OK "Apps have installed"
   Quit

with script above the result always said "Not installed"

Help and suggestions welcome!


Solution

  • Without any more information my only guess is a 32/64 bit mismatch. Use SetRegView or ReadRegStr $x HKLM64 Software\... when running a 32-bit installer on 64-bit Windows.