~swag/armagetronad/0.2.9-sty+ct+ap-fork

« back to all changes in this revision

Viewing changes to win32/required/armagetronad_dedicated.nsi

  • Committer: SwagTron
  • Date: 2019-03-05 07:13:03 UTC
  • Revision ID: swagtron-20190305071303-5m4cn9hs6h8ydsgf
- Ported toggle from 0.4. Seems kind of hacky. Had to add another FindConfigItem of type tConfItemBase due to tab completion using the previous tString function. Plan to change this later, but I really needed the toggle function. Tried to cast the two, but that did not work out. Seemed like the bug-less option for the time being. Those unfamiliar with this function, you can now toggle boolean commands (Ex. toggle text_out)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
; Armagetron Advanced Dedicated Server Setup Script
2
 
!define PRODUCT_BASENAME "Armagetron Sty+CT"
3
 
!define PRODUCT_NAME "${PRODUCT_BASENAME} Dedicated Server"
4
 
!define PRODUCT_VERSION "0.2.9-styct_alpha20120506"
5
 
!define PRODUCT_PUBLISHER "Armagetron Advanced Team"
6
 
!define PRODUCT_WEB_SITE "http://armagetronad.sf.net"
7
 
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_BASENAME}\armagetronad_dedicated.exe"
8
 
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
9
 
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
10
 
 
11
 
SetCompressor lzma
12
 
 
13
 
; MUI 1.67 compatible ------
14
 
!include "MUI.nsh"
15
 
 
16
 
; MUI Settings
17
 
!define MUI_ABORTWARNING
18
 
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
19
 
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
20
 
!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp"
21
 
 
22
 
; Language Selection Dialog Settings
23
 
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
24
 
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
25
 
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
26
 
!define MUI_WELCOMEPAGE_TITLE_3LINES
27
 
!define MUI_FINISHPAGE_TITLE_3LINES
28
 
 
29
 
; Welcome page
30
 
!insertmacro MUI_PAGE_WELCOME
31
 
; License page
32
 
!insertmacro MUI_PAGE_LICENSE "COPYING.txt"
33
 
; Directory page
34
 
!insertmacro MUI_PAGE_DIRECTORY
35
 
; Instfiles page
36
 
!insertmacro MUI_PAGE_INSTFILES
37
 
; Finish page
38
 
!insertmacro MUI_PAGE_FINISH
39
 
 
40
 
; Uninstaller pages
41
 
!insertmacro MUI_UNPAGE_CONFIRM
42
 
!insertmacro MUI_UNPAGE_INSTFILES
43
 
 
44
 
; Language files
45
 
!insertmacro MUI_LANGUAGE "Dutch"
46
 
!insertmacro MUI_LANGUAGE "English"
47
 
!insertmacro MUI_LANGUAGE "French"
48
 
!insertmacro MUI_LANGUAGE "German"
49
 
!insertmacro MUI_LANGUAGE "Polish"
50
 
!insertmacro MUI_LANGUAGE "Spanish"
51
 
 
52
 
; Reserve files
53
 
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
54
 
 
55
 
; MUI end ------
56
 
 
57
 
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
58
 
OutFile "armagetronad-dedicated-${PRODUCT_VERSION}.win32.exe"
59
 
InstallDir "$PROGRAMFILES\${PRODUCT_BASENAME} Dedicated"
60
 
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
61
 
ShowInstDetails show
62
 
ShowUnInstDetails show
63
 
 
64
 
Function .onInit
65
 
  !insertmacro MUI_LANGDLL_DISPLAY
66
 
FunctionEnd
67
 
 
68
 
Section "MainSection" SEC01
69
 
 
70
 
  SetOutPath "$INSTDIR"
71
 
  SetOverwrite try
72
 
  File "Armagetron Forums.url"
73
 
 
74
 
  # install desktop entry for current user
75
 
  CreateShortCut "$DESKTOP\${PRODUCT_BASENAME} Server.lnk" "$INSTDIR\armagetronad_dedicated.exe"
76
 
 
77
 
  # install start menu for all users
78
 
  SetShellVarContext all
79
 
  CreateDirectory "$SMPROGRAMS\${PRODUCT_BASENAME}"
80
 
  CreateShortCut "$SMPROGRAMS\${PRODUCT_BASENAME}\Armagetron Forums.lnk" "$INSTDIR\Armagetron Forums.url"
81
 
  File "armagetronad_dedicated.exe"
82
 
  CreateShortCut "$SMPROGRAMS\${PRODUCT_BASENAME}\${PRODUCT_BASENAME} Server.lnk" "$INSTDIR\armagetronad_dedicated.exe"
83
 
  SetOutPath "$INSTDIR\config"
84
 
  File ".\config\*.cfg"
85
 
  File ".\config\*.srv"
86
 
  SetOutPath "$INSTDIR\config\examples"
87
 
  File ".\config\examples\*.cfg"
88
 
  SetOutPath "$INSTDIR\config\examples\cvs_test"
89
 
  File ".\config\examples\cvs_test\*.cfg"
90
 
  SetOutPath "$INSTDIR"
91
 
  File "*.txt"
92
 
  SetOutPath "$INSTDIR\doc"
93
 
  File /nonfatal ".\doc\*.html"
94
 
  CreateShortCut "$SMPROGRAMS\${PRODUCT_BASENAME}\Documentation.lnk" "$INSTDIR\doc\index.html"
95
 
  SetOutPath "$INSTDIR\doc\net"
96
 
  File /nonfatal ".\doc\net\*.html"
97
 
  SetOutPath "$INSTDIR\language"
98
 
  File ".\language\*.*"
99
 
  SetOutPath "$INSTDIR"
100
 
  File "zlib1.dll"
101
 
  File "iconv.dll"
102
 
  File "libxml2.dll"
103
 
  SetOutPath "$INSTDIR\models"
104
 
  File ".\models\*.mod"
105
 
  SetOutPath "$INSTDIR\resource\included"
106
 
  File /r ".\resource\included\*.*"
107
 
  SetOutPath "$INSTDIR\sound"
108
 
  File ".\sound\*.wav"
109
 
  SetOutPath "$INSTDIR\textures"
110
 
  File ".\textures\*.png"
111
 
  File ".\textures\*.jpg"
112
 
  #SetOutPath "$INSTDIR\var"
113
 
  #File ".\var\README.txt"
114
 
SectionEnd
115
 
 
116
 
Section -AdditionalIcons
117
 
  CreateShortCut "$SMPROGRAMS\${PRODUCT_BASENAME}\Uninstall ${PRODUCT_BASENAME} Server.lnk" "$INSTDIR\uninst_dedicated.exe"
118
 
SectionEnd
119
 
 
120
 
Section -Post
121
 
  WriteUninstaller "$INSTDIR\uninst_dedicated.exe"
122
 
  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\armagetronad_dedicated.exe"
123
 
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
124
 
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst_dedicated.exe"
125
 
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\armagetronad_dedicated.exe"
126
 
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
127
 
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
128
 
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
129
 
SectionEnd
130
 
 
131
 
Function un.onInit
132
 
!insertmacro MUI_UNGETLANGUAGE
133
 
FunctionEnd
134
 
 
135
 
Section Uninstall
136
 
  # uninstall for all users
137
 
  SetShellVarContext all
138
 
 
139
 
  Delete "$INSTDIR\*.txt"
140
 
  Delete "$INSTDIR\*.exe"
141
 
  Delete "$INSTDIR\*.dll"
142
 
  Delete "$INSTDIR\var\README.txt"
143
 
  Delete "$INSTDIR\var\stdout.txt"
144
 
 
145
 
  RMDir /r "$INSTDIR\textures"
146
 
  RMDir /r "$INSTDIR\sound"
147
 
  RMDir /r "$INSTDIR\resource\included"
148
 
  RMDir /r "$INSTDIR\models"
149
 
  RMDir /r "$INSTDIR\language"
150
 
  RMDir /r "$INSTDIR\doc"
151
 
  RMDir /r "$INSTDIR\config\examples"
152
 
  Delete "$INSTDIR\config\settings_visual.cfg"
153
 
  Delete "$INSTDIR\config\settings_dedicated.cfg"
154
 
  Delete "$INSTDIR\config\settings.cfg"
155
 
  Delete "$INSTDIR\config\master.srv"
156
 
  Delete "$INSTDIR\config\default.cfg"
157
 
  Delete "$INSTDIR\config\aiplayers.cfg"
158
 
  Delete "$INSTDIR\armagetronad.exe"
159
 
  Delete "$INSTDIR\Armagetron Forums.url"
160
 
 
161
 
  RMDir "$INSTDIR\var"
162
 
  RMDir "$INSTDIR\resource"
163
 
  RMDir "$INSTDIR\config"
164
 
  RMDir "$INSTDIR"
165
 
 
166
 
  Delete "$SMPROGRAMS\${PRODUCT_BASENAME}\Uninstall ${PRODUCT_BASENAME} Server.lnk"
167
 
  Delete "$SMPROGRAMS\${PRODUCT_BASENAME}\Documentation.lnk"
168
 
  Delete "$DESKTOP\${PRODUCT_BASENAME} Server.lnk"
169
 
  Delete "$SMPROGRAMS\${PRODUCT_BASENAME}\${PRODUCT_BASENAME} Server.lnk"
170
 
  Delete "$SMPROGRAMS\${PRODUCT_BASENAME}\Armagetron Forums.lnk"
171
 
 
172
 
  RMDir "$SMPROGRAMS\${PRODUCT_BASENAME}"
173
 
 
174
 
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
175
 
  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
176
 
  SetAutoClose true
177
 
SectionEnd