diff options
Diffstat (limited to 'LawncableLauncher.nsi')
-rw-r--r-- | LawncableLauncher.nsi | 53 |
1 files changed, 45 insertions, 8 deletions
diff --git a/LawncableLauncher.nsi b/LawncableLauncher.nsi index 7ec1d96..e88c792 100644 --- a/LawncableLauncher.nsi +++ b/LawncableLauncher.nsi @@ -1,5 +1,6 @@ ;-------------------------------- ;Include Modern UI +;http://nsis.sourceforge.net/Docs/Modern%20UI/Readme.html !include "MUI2.nsh" @@ -9,12 +10,13 @@ ;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\ManaLauncher" "" + InstallDirRegKey HKCU "Software\LawnCablesManaLauncher" "" ;Request application privileges for Windows Vista RequestExecutionLevel admin @@ -45,20 +47,41 @@ !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_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_NOTCHECKED !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 @@ -67,18 +90,27 @@ ;-------------------------------- ;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 @@ -99,11 +131,12 @@ SectionEnd Section "Uninstall" - ;ADD YOUR OWN FILES HERE... + RMDir /r "$INSTDIR" - Delete "$INSTDIR\Uninstall.exe" - RMDir /r "$INSTDIR" + ${If} $CheckboxState <> ${BST_CHECKED} + RMDir /r "$APPDATA\mana-launcher" + ${EndIf} !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder @@ -114,4 +147,8 @@ Section "Uninstall" DeleteRegKey /ifempty HKCU "Software\LawnCablesManaLauncher" + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LawnCablesManaLauncher" + Delete "$INSTDIR\Uninstall.exe" + RMDir /r "$INSTDIR" + SectionEnd |