summaryrefslogtreecommitdiff
path: root/LawncableLauncher.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'LawncableLauncher.nsi')
-rw-r--r--LawncableLauncher.nsi53
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