Search code examples
nsis

how to check software installed in NSIS?


i have created an installer using NSIS to install a software say googletalk in my system using following NSIS script ,

Name "installer"
OutFile "new_setup.exe"
InstallDir "$PROGRAMFILES\Google talk"

Section
  SetOutPath $INSTDIR
  execWait '$DESKTOP\googletalk-setup.exe'

SectionEnd

Now if i execute the installer once again, before installing it should check whether that software already exists or not.

So in NSIS how to achieve it ?.

Please tell me with code.

Thanks in advance!.


Solution

  • During installation, you need to create informations for uninstall in registry. (visible in Add/remove program on Windows control panel)

    I advice you to follow this example :

    http://nsis.sourceforge.net/Add_uninstall_information_to_Add/Remove_Programs

    Then on your ".onInit" function, you just have to check these values with a ReadRegStr :

    http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.2.12

    Hope this can help you.