File: win32_installer.nsi

package info (click to toggle)
glob2 0.9.4.4-5
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 34,824 kB
  • sloc: cpp: 89,685; python: 868; ansic: 259; sh: 49; makefile: 16
file content (156 lines) | stat: -rw-r--r-- 6,227 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
;------------------------------------
;Settings
;------------------------------------
  Name "Globulation 2"
  OutFile "globulation2_win32.exe"
  InstallDir $PROGRAMFILES\Globulation_2
  InstallDirRegKey HKCU "Software\Globulation_2" ""
  Var StartMenuFolder
  Var STARTMENU_FOLDER
  RequestExecutionLevel admin  ;Vista Setting

;------------------------------------
;Style
;------------------------------------
  !include "MUI2.nsh"
  !define MUI_WELCOMEFINISHPAGE_BITMAP "side.bmp"
  !define MUI_UNWELCOMEFINISHPAGE_BITMAP "side.bmp"
  !define MUI_HEADERIMAGE
  !define MUI_HEADERIMAGE_BITMAP "header.bmp"
  !define MUI_ABORTWARNING

;------------------------------------
;Store the users Language Selection
;------------------------------------
  !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
  !define MUI_LANGDLL_REGISTRY_KEY "Software\Globulation_2"
  !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"

;------------------------------------
;Pages
;------------------------------------
  ;------------------------------------
  ;Install Pages
  ;------------------------------------
    !insertmacro MUI_PAGE_WELCOME
    !insertmacro MUI_PAGE_LICENSE "..\COPYING"
    !insertmacro MUI_PAGE_DIRECTORY
    !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
    !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Globulation_2"
    !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
    !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
    !insertmacro MUI_PAGE_INSTFILES
    !define MUI_FINISHPAGE_RUN $INSTDIR\glob2.exe
    !insertmacro MUI_PAGE_FINISH
  ;------------------------------------
  ;Uninstall Pages
  ;------------------------------------
    !insertmacro MUI_UNPAGE_CONFIRM
    !insertmacro MUI_UNPAGE_INSTFILES
    !insertmacro MUI_UNPAGE_FINISH

;------------------------------------
;Language Selection Dialog Choices
;------------------------------------
  !insertmacro MUI_LANGUAGE "English"
  !insertmacro MUI_LANGUAGE "French"
  !insertmacro MUI_LANGUAGE "German"
  !insertmacro MUI_LANGUAGE "Spanish"
  !insertmacro MUI_LANGUAGE "SpanishInternational"
  !insertmacro MUI_LANGUAGE "Italian"
  !insertmacro MUI_LANGUAGE "Dutch"
  !insertmacro MUI_LANGUAGE "Danish"
  !insertmacro MUI_LANGUAGE "Swedish"
  !insertmacro MUI_LANGUAGE "Russian"
  !insertmacro MUI_LANGUAGE "Portuguese"
  !insertmacro MUI_LANGUAGE "PortugueseBR"
;------------------------------------
;Commands for the installer
;------------------------------------
  Section ""
  SectionIn RO
  !include "install_list.nsh" ;List of files to install (generated from gen_inst_uninst_list.py)
  File ..\data\authors.txt
  File ..\COPYING
  File ..\src\glob2.exe
  File glob2.ico
  ;------------------------------------
  ;Install shortcuts
  ;------------------------------------
    !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
    CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\glob2win32-uninst.exe" "" "$INSTDIR\glob2win32-uninst.exe" 0
    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Globulation 2.lnk" "$INSTDIR\glob2.exe" "" "$INSTDIR\glob2.ico"
    CreateShortCut "$DESKTOP\Globulation 2.lnk" "$INSTDIR\glob2.exe" "" "$INSTDIR\glob2.ico"
    !insertmacro MUI_STARTMENU_WRITE_END
  ;------------------------------------
  ;Set registery values
  ;------------------------------------
    WriteRegStr HKCU "Software\Globulation_2" "" $INSTDIR
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Globulation_2" "DisplayName" "Globulation 2"
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Globulation_2" "UninstallString" "$INSTDIR\glob2win32-uninst.exe"
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Globulation_2" "DisplayIcon" "$INSTDIR\glob2.ico"
    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Globulation_2" "NoModify" "1"
    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Globulation_2" "NoRepair" "1"

  WriteUninstaller "glob2win32-uninst.exe"
  SectionEnd

;------------------------------------
;Commands for the uninstaller
;------------------------------------
  Section "Uninstall"
  !include "uninstall_list.nsh" ;List of files to uninstall (generated from gen_inst_uninst_list.py)
  Delete $INSTDIR\authors.txt
  Delete $INSTDIR\COPYING
  Delete $INSTDIR\glob2.exe
  Delete $INSTDIR\glob2.ico
  Delete $INSTDIR\glob2win32-uninst.exe
  Delete $INSTDIR\keyboard-gui.txt
  Delete $INSTDIR\keyboard-mapedit.txt
  Delete $INSTDIR\preferences.txt
  Delete $INSTDIR\stderr.txt
  Delete $INSTDIR\stdout.txt
  Delete $INSTDIR\games\*.game
  RMDir $INSTDIR\games
  RMDir $INSTDIR\logs
  RMDir $INSTDIR\videoshots
  RMDir $INSTDIR

  ;------------------------------------
  ;Delete shortcuts
  ;------------------------------------
    !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
    Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
    Delete "$SMPROGRAMS\$StartMenuFolder\Globulation 2.lnk"
	RMDir "$SMPROGRAMS\$StartMenuFolder"
    Delete "$DESKTOP\Globulation 2.lnk"
  ;------------------------------------
  ;Delete registery keys
  ;------------------------------------
    DeleteRegKey /ifempty HKCU "Software\Globulation_2"
    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Globulation_2"

  SectionEnd

;------------------------------------
;Installer Functions
;------------------------------------
  Function .onInit
  !insertmacro MUI_LANGDLL_DISPLAY
  FunctionEnd

;------------------------------------
;Uninstaller Functions
;------------------------------------
  Function un.onInit
  ;------------------------------------
  ;Make sure Globulation 2 isn't running
  ;------------------------------------
    FindWindow $0 "" "Globulation 2"
    StrCmp $0 0 continueInstall
    MessageBox MB_ICONSTOP|MB_OK "The application you are trying to remove is currently running. Close it and try again."
    Abort
    continueInstall:
  !insertmacro MUI_UNGETLANGUAGE
  FunctionEnd