;-------------------------------- ;Include Modern UI ;http://nsis.sourceforge.net/Docs/Modern%20UI/Readme.html !include "MUI2.nsh" ;-------------------------------- ;General ;Name and file Name "ManaLauncher" OutFile "InstallManaLauncher.exe" !define MUI_ICON "assets\media\icon.ico" ;Default installation folder InstallDir "$PROGRAMFILES\ManaLauncher" ;Get installation folder from registry if available InstallDirRegKey HKCU "Software\LawnCablesManaLauncher" "" ;Request application privileges for Windows Vista RequestExecutionLevel admin ;-------------------------------- ;Variables Var StartMenuFolder ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING ;-------------------------------- ;Pages !insertmacro MUI_PAGE_LICENSE "LICENSE" ;!insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY ;Start Menu Folder Page Configuration !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\LawnCablesManaLauncher" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder !insertmacro MUI_PAGE_INSTFILES Function finishpageaction CreateShortcut "$Desktop\LawnCablesManaLauncher.lnk" "$INSTDIR\LawnCablesManaLauncher.exe" FunctionEnd !define MUI_FINISHPAGE_RUN $INSTDIR\LawnCablesManaLauncher.exe !define MUI_FINISHPAGE_RUN_TEXT "Launch ManaLauncher" !define MUI_FINISHPAGE_SHOWREADME "" !define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Desktop Shortcut" !define MUI_FINISHPAGE_SHOWREADME_FUNCTION finishpageaction !insertmacro MUI_PAGE_FINISH !define MUI_PAGE_CUSTOMFUNCTION_SHOW un.ModifyUnWelcome !define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.LeaveUnWelcome !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES Var checkbox var CheckboxState Function un.onInit StrCpy $CheckboxState ${BST_CHECKED} FunctionEnd Function un.ModifyUnWelcome ${NSD_CreateCheckbox} 120u -20u 50% 20u "Keep Gamedata and Configuration Files" Pop $checkbox SetCtlColors $checkbox "" ${MUI_BGCOLOR} ${NSD_SetState} $checkbox $CheckboxState FunctionEnd Function un.LeaveUnWelcome ${NSD_GetState} $checkbox $CheckboxState FunctionEnd ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ;Installer Sections !define REG_UNISTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\LawnCablesManaLauncher" Section "Install" SetOutPath "$INSTDIR" File /r "out\LawnCablesManaLauncher-win32-x64\*" File "assets\media\icon.ico" ;Store installation folder WriteRegStr HKCU "Software\LawnCablesManaLauncher" "" $INSTDIR ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" WriteRegStr HKLM ${REG_UNISTALL_KEY} "DisplayName" "LawnCable's ManaLauncher" WriteRegStr HKLM ${REG_UNISTALL_KEY} "Publisher" "TMW2.ORG -> ManaLauncher Team" WriteRegStr HKLM ${REG_UNISTALL_KEY} "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" WriteRegStr HKLM ${REG_UNISTALL_KEY} "DisplayIcon" "$\"$INSTDIR\icon.ico$\"" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application ;Create shortcuts CreateDirectory "$SMPROGRAMS\$StartMenuFolder" CreateShortcut "$SMPROGRAMS\$StartMenuFolder\LawnCablesManaLauncher.lnk" "$INSTDIR\LawnCablesManaLauncher.exe" CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd ;-------------------------------- ;Uninstaller Section Section "Uninstall" RMDir /r "$INSTDIR" ${If} $CheckboxState <> ${BST_CHECKED} RMDir /r "$APPDATA\mana-launcher" ${EndIf} !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder Delete "$Desktop\LawnCablesManaLauncher.lnk" Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" Delete "$SMPROGRAMS\$StartMenuFolder\LawnCablesManaLauncher.lnk" RMDir "$SMPROGRAMS\$StartMenuFolder" DeleteRegKey /ifempty HKCU "Software\LawnCablesManaLauncher" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LawnCablesManaLauncher" Delete "$INSTDIR\Uninstall.exe" RMDir /r "$INSTDIR" SectionEnd