!include "MUI.nsh" Var STARTMENU_FOLDER OutFile "langstring.exe" Name "LangString" Caption "LangString Setup" InstallDir "$PROGRAMFILES\LangString" InstallDirRegKey HKLM "Software\LangString" "" !define MUI_LANGDLL_REGISTRY_ROOT "HKLM" !define MUI_LANGDLL_REGISTRY_KEY "Software\LangString" !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\LangString" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_STARTMENU LangString1 $STARTMENU_FOLDER !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Hebrew" LangString InstallerRunning ${LANG_ENGLISH} "English: The installer is already running." LangString InstallerRunning ${LANG_FRENCH} "French: The installer is already running." LangString InstallerRunning ${LANG_GERMAN} "German: The installer is already running." LangString InstallerRunning ${LANG_DUTCH} "Dutch: The installer is already running." LangString InstallerRunning ${LANG_HEBREW} "Hebrew: The installer is already running." !insertmacro MUI_RESERVEFILE_LANGDLL Section "" SetShellVarContext all SetOutPath $INSTDIR SetOverwrite IfNewer File "makensisw.exe" !insertmacro MUI_STARTMENU_WRITE_BEGIN LangString1 CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\LangString.lnk" "$INSTDIR\makensisw.exe" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\uninstall.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Function .onInit !insertmacro MUI_LANGDLL_DISPLAY System::Call 'kernel32::CreateMutexA(i 0, i 0, t "LangString") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK $(InstallerRunning) Abort FunctionEnd Section -Post WriteUninstaller "$INSTDIR\uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\LangString.exe" "" "$INSTDIR\makensisw.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LangString" "DisplayName" "LangString" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LangString" "UninstallString" "$INSTDIR\uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LangString" "DisplayIcon" "$INSTDIR\makensisw.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LangString" "DisplayVersion" "1.0" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LangString" "URLInfoAbout" "http://nsis.sf.net" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LangString" "Publisher" "NSIS" SectionEnd Section Uninstall SetShellVarContext all !insertmacro MUI_STARTMENU_GETFOLDER LangString1 $STARTMENU_FOLDER Delete "$SMPROGRAMS\$STARTMENU_FOLDER\*.*" RMDir "$SMPROGRAMS\$STARTMENU_FOLDER" Delete "$INSTDIR\*.*" RMDir "$INSTDIR" DeleteRegKey HKLM "Software\LangString" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LangString" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\LangString.exe" SectionEnd