;NSIS Modern User Interface version 1.63 ;MultiLanguage Example Script ;Written by Joost Verburg !define MUI_PRODUCT "Deskcalc Pro" ;Define your own software name here !define MUI_VERSION "2.1.8" ;Define your own software version here !include "MUI.nsh" ;-------------------------------- ;Configuration ;General OutFile "deskcalc_uk.exe" SetOverwrite on ;Folder selection page InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" ;Remember install folder InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" "" ;Remember the installer language !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" !define MUI_LANGDLL_REGISTRY_KEY "Software\${MUI_PRODUCT}" !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" ;-------------------------------- ;Modern UI Configuration !define MUI_LICENSEPAGE !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE !define MUI_ABORTWARNING !define MUI_UNINSTALLER !define MUI_UNCONFIRMPAGE ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "TradChinese" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Korean" !insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Greek" !insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "PortugueseBR" !insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "Ukrainian" !insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Slovak" !insertmacro MUI_LANGUAGE "Croatian" !insertmacro MUI_LANGUAGE "Bulgarian" !insertmacro MUI_LANGUAGE "Hungarian" !insertmacro MUI_LANGUAGE "Thai" !insertmacro MUI_LANGUAGE "Romanian" !insertmacro MUI_LANGUAGE "Macedonian" !insertmacro MUI_LANGUAGE "Turkish" ;-------------------------------- ;Data LicenseData /LANG=${LANG_ENGLISH} "License.txt" LicenseData /LANG=${LANG_FRENCH} "License.txt" LicenseData /LANG=${LANG_GERMAN} "License.txt" LicenseData /LANG=${LANG_SPANISH} "License.txt" LicenseData /LANG=${LANG_SIMPCHINESE} "License.txt" LicenseData /LANG=${LANG_TRADCHINESE} "License.txt" LicenseData /LANG=${LANG_JAPANESE} "License.txt" LicenseData /LANG=${LANG_KOREAN} "License.txt" LicenseData /LANG=${LANG_ITALIAN} "License.txt" LicenseData /LANG=${LANG_DUTCH} "License.txt" LicenseData /LANG=${LANG_DANISH} "License.txt" LicenseData /LANG=${LANG_GREEK} "License.txt" LicenseData /LANG=${LANG_RUSSIAN} "License.txt" LicenseData /LANG=${LANG_PORTUGUESEBR} "License.txt" LicenseData /LANG=${LANG_POLISH} "License.txt" LicenseData /LANG=${LANG_UKRAINIAN} "License.txt" LicenseData /LANG=${LANG_CZECH} "License.txt" LicenseData /LANG=${LANG_SLOVAK} "License.txt" LicenseData /LANG=${LANG_CROATIAN} "License.txt" LicenseData /LANG=${LANG_BULGARIAN} "License.txt" LicenseData /LANG=${LANG_HUNGARIAN} "License.txt" LicenseData /LANG=${LANG_THAI} "License.txt" LicenseData /LANG=${LANG_ROMANIAN} "License.txt" LicenseData /LANG=${LANG_MACEDONIAN} "License.txt" LicenseData /LANG=${LANG_TURKISH} "License.txt" ;-------------------------------- ;Reserve Files ;Things that need to be extracted on first (keep these lines before any File command!) ;Only useful for BZIP2 compression !insertmacro MUI_RESERVEFILE_LANGDLL ;-------------------------------- ;Installer Sections Section "Deskcalc.exe" SecCopyUI ;Add your stuff here SetOutPath "$INSTDIR" File "lizenz.txt" File "f:\Projects\DeskCalc.uk\TaxCalc___Win32_Release_englisch\deskcalc.exe" File "f:\PROJECTS\DeskCalc.uk\Taxcalc.bat" File "f:\PROJECTS\DeskCalc.uk\wait.exe" SetOutPath "$INSTDIR\HELP" File "f:\PROJECTS\DeskCalc.uk\help\deskcalc_uk.chm" File "f:\PROJECTS\DeskCalc.uk\help\deskcalc_fr.chm" File "f:\PROJECTS\DeskCalc.uk\help\deskcalc_basics.swf" File "f:\PROJECTS\DeskCalc.uk\help\deskcalc_basics.html" ;Add your stuff here WriteUninstaller "$INSTDIR\Uninstall.exe" SetOutPath "$INSTDIR" SectionEnd Section "Startmenu + Desktop Icon" SecCopyDesktop CreateDirectory "$SMPROGRAMS\DeskCalc" CreateShortCut "$SMPROGRAMS\DeskCalc\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 CreateShortCut "$SMPROGRAMS\DeskCalc\DeskCalc.lnk" "$INSTDIR\DeskCalc.exe" "" "$INSTDIR\DeskCalc.exe" 0 CreateShortCut "$SMPROGRAMS\..\..\Desktop\DeskCalc.lnk" "$INSTDIR\DeskCalc.exe" "" "$INSTDIR\DeskCalc.exe" 0 CreateShortCut "$SMPROGRAMS\DeskCalc\Help UK.lnk" "$INSTDIR\help\deskcalc_uk.chm" "" "$INSTDIR\help\deskcalc_uk.chm" 0 CreateShortCut "$SMPROGRAMS\DeskCalc\Help FR.lnk" "$INSTDIR\help\deskcalc_fr.chm" "" "$INSTDIR\help\deskcalc_fr.chm" 0 WriteINIStr "$SMPROGRAMS\DeskCalc\DeskCalc.url" \ "InternetShortcut" "URL" \ "http://www.pmasoft.net/deskcalc.htm" SectionEnd Function .onInit !insertmacro MUI_LANGDLL_DISPLAY FunctionEnd ;-------------------------------- ;Descriptions ;-------------------------------- ;Installer Functions Function .onInstSuccess NoInstall: MessageBox MB_YESNO|MB_ICONQUESTION "Setup was successfull, start Deskcalc ?" IDNO NoReadme ExecShell open '$INSTDIR\Deskcalc.exe' NoReadme: ExecShell open '$INSTDIR\help\DeskCalc_basics.html' FunctionEnd Section -post ;Registry für Pfad WriteRegStr HKLM SOFTWARE\NSIS "" $INSTDIR WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DeskCalc" "DisplayName" '${MUI_PRODUCT}' WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DeskCalc" "UninstallString" '"$INSTDIR\uninst-nsis.exe"' SetOutPath $INSTDIR IfFileExists $SMPROGRAMS\NSIS "" nofunshit ;ExecShell open '$SMPROGRAMS\${NAME}' Sleep 500 BringToFront nofunshit: Delete $INSTDIR\uninst-nsis.exe WriteUninstaller $INSTDIR\uninst-nsis.exe SectionEnd ;-------------------------------- ;Uninstaller Section Section "Uninstall" ;Add your stuff here DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DeskCalc" ; special uninstall section. ; remove files ; MUST REMOVE UNINSTALLER, too Delete $INSTDIR\uninstall.exe ; remove shortcuts, if any. Delete "$SMPROGRAMS\DeskCalc\*.*" Delete "$SMPROGRAMS\..\..\Desktop\DeskCalc.lnk" ; remove directories used. RMDir "$SMPROGRAMS\DeskCalc" ; remove files used. Delete "$INSTDIR\help\*.*" Delete "$INSTDIR\*.*" ; remove directories used. RMDir "$INSTDIR\help" RMDir "$INSTDIR" DeleteRegKey /ifempty HKCU "Software\${MUI_PRODUCT}" ;Display the Finish header !insertmacro MUI_UNFINISHHEADER SectionEnd ;-------------------------------- ;Uninstaller Functions Function un.onInit ;Get language from registry ReadRegStr $LANGUAGE HKCU "Software\${MUI_PRODUCT}" "Installer Language" FunctionEnd Function un.onUninstSuccess IfFileExists $INSTDIR\onlineeye.exe found Return found: Messagebox MB_OK "Problem! Maybe OnlineEye is still running ?" Abort FunctionEnd ;eof