1
; Script generated by the HM NIS Edit Script Wizard.
3
; HM NIS Edit Wizard helper defines
4
!define PRODUCT_NAME "Evergreen Staff Client"
5
; Old versions of makensis don't like this, moved to Makefile
6
;!define /file PRODUCT_VERSION "client/VERSION"
7
!define PRODUCT_PUBLISHER "Evergreen Community"
8
!define PRODUCT_WEB_SITE "http://evergreen-ils.org/"
9
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\evergreen.exe"
10
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
11
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
12
!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
14
; MUI 1.67 compatible ------
18
!include "FileFunc.nsh"
21
!define MUI_ABORTWARNING
22
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
23
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
25
; Language Selection Dialog Settings
26
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
27
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
28
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
31
!insertmacro MUI_PAGE_WELCOME
33
!insertmacro MUI_PAGE_LICENSE "..\..\..\LICENSE.txt"
35
!ifdef AUTOUPDATE | DEVELOPER
36
!insertmacro MUI_PAGE_COMPONENTS
39
!insertmacro MUI_PAGE_DIRECTORY
42
!define MUI_STARTMENUPAGE_NODISABLE
43
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Evergreen Staff Client"
44
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
45
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
46
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}"
47
!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
49
!insertmacro MUI_PAGE_INSTFILES
51
!define MUI_FINISHPAGE_RUN "$INSTDIR\evergreen.exe"
52
!insertmacro MUI_PAGE_FINISH
55
!insertmacro MUI_UNPAGE_INSTFILES
58
!insertmacro MUI_LANGUAGE "Czech"
59
!insertmacro MUI_LANGUAGE "English"
60
!insertmacro MUI_LANGUAGE "French"
64
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
65
OutFile "evergreen_staff_client_setup.exe"
66
InstallDir "$PROGRAMFILES\Evergreen Staff Client"
67
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
69
ShowUnInstDetails show
70
RequestExecutionLevel admin
72
Section "Staff Client" SECMAIN
74
File /r /x "autoupdate.js" /x "autochannel.js" /x "developers.js" "client\*"
77
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
78
CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
80
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Evergreen Staff Client.lnk" "$INSTDIR\evergreen.exe" "" "$INSTDIR\evergreen.ico"
82
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Evergreen Staff Client Profile Manager.lnk" "$INSTRDIR\evergreen.exe -profilemanager" "" "$INSTDIR\evergreen.ico"
85
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Evergreen Staff Client.lnk" "$INSTDIR\evergreen.exe"
87
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Evergreen Staff Client Profile Manager.lnk" "$INSTRDIR\evergreen.exe -profilemanager"
90
CreateShortCut "$DESKTOP\Evergreen Staff Client.lnk" "$INSTDIR\evergreen.exe"
91
!insertmacro MUI_STARTMENU_WRITE_END
95
Section /o "Automatic Update" SECAUTO
96
SetOutPath "$INSTDIR\defaults\preferences"
97
File "client\defaults\preferences\autoupdate.js"
98
File "client\defaults\preferences\autochannel.js"
104
Section /o "Developer Options" SECDEV
105
SetOutPath "$INSTDIR\defaults\preferences"
106
File "client\defaults\preferences\developers.js"
107
SetOutPath "$INSTDIR"
113
!insertmacro MUI_LANGDLL_DISPLAY
114
SectionSetFlags ${SECMAIN} 17
115
; This is mainly for silent installs
116
!ifdef AUTOUPDATE | DEVELOPER
119
${GetParameters} $CMD_ARGS
121
!ifdef AUTOUPDATE_NODEFAULT
122
${GetOptions} $CMD_ARGS "/autoupdate" $0
125
${GetOptions} $CMD_ARGS "/noautoupdate" $0
128
SectionSetFlags ${SECAUTO} 1
131
${GetOptions} $CMD_ARGS "/developer" $0
133
SectionSetFlags ${SECDEV} 1
138
Section -AdditionalIcons
139
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
140
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
141
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
142
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe"
143
!insertmacro MUI_STARTMENU_WRITE_END
147
WriteUninstaller "$INSTDIR\uninst.exe"
148
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\evergreen.exe"
149
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
150
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
151
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\evergreen.exe"
152
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
153
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
154
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
157
; Section descriptions
158
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
159
!insertmacro MUI_DESCRIPTION_TEXT ${SECMAIN} "The Evergreen Staff Client with XULRunner, Required"
161
!insertmacro MUI_DESCRIPTION_TEXT ${SECAUTO} "Automatic Update Functionality"
164
!insertmacro MUI_DESCRIPTION_TEXT ${SECDEV} "Developer Options"
166
!insertmacro MUI_FUNCTION_DESCRIPTION_END
169
Function un.onUninstSuccess
171
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
175
!insertmacro MUI_UNGETLANGUAGE
176
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
181
!insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
182
Delete "$INSTDIR\${PRODUCT_NAME}.url"
183
Delete "$INSTDIR\uninst.exe"
184
Delete "$INSTDIR\evergreen.exe"
185
Delete "$INSTDIR\application.ini"
186
Delete "$INSTDIR\BUILD_ID"
187
Delete "$INSTDIR\STAMP_ID"
188
Delete "$INSTDIR\VERSION"
189
Delete "$INSTDIR\install.rdf"
190
Delete "$INSTDIR\active-update.xml"
191
Delete "$INSTDIR\chrome.manifest"
192
Delete "$INSTDIR\updates.xml"
193
Delete "$INSTDIR\log.txt"
195
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
196
Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk"
197
Delete "$DESKTOP\Evergreen Staff Client.lnk"
198
Delete "$SMPROGRAMS\$ICONS_GROUP\Evergreen Staff Client.lnk"
200
RMDir "$SMPROGRAMS\$ICONS_GROUP"
201
RMDir /r "$INSTDIR\updates"
202
RMDir /r "$INSTDIR\xulrunner"
203
RMDir /r "$INSTDIR\extensions"
204
RMDir /r "$INSTDIR\chrome"
205
RMDir /r "$INSTDIR\components"
206
RMDir /r "$INSTDIR\defaults"
209
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
210
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"