summaryrefslogblamecommitdiff
path: root/LawncableLauncher.nsi
blob: e88c79233233cd3e461ef675b33f725f9e73b871 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

                                 
                                                         








                                   
                                          




                                                     
                                                            





























                                                                          



                                                                                              


                                                                
                                      




                                                                  





















                                                                                   







                                     

                                                                                                     





                                                  

                              





                                                                




                                                                                       



















                                                                                                                  
                     
 
 


                                        









                                                                   



                                                                                                
          
;--------------------------------
;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