1 #------------------------------------------------------------------------------
3 !include "LogicLib.nsh"
5 #------------------------------------------------------------------------------
8 !define VERSION "unknown"
12 !define OUTFILE "../neverball-${VERSION}-setup.exe"
15 !define UNINSTALL_REG_ROOT \
16 "Software\Microsoft\Windows\CurrentVersion\Uninstall\Neverball"
18 #------------------------------------------------------------------------------
21 Name "Neverball ${VERSION}"
22 LicenseData "COPYING.txt"
23 InstallDir "$PROGRAMFILES\Neverball"
27 #------------------------------------------------------------------------------
39 SetShellVarContext all
43 Section "Neverball/Neverputt"
49 File /oname=AUTHORS.txt doc\AUTHORS.txt
50 File /oname=MANUAL.txt doc\MANUAL.txt
52 File /r /x .svn /x *.map /x obj data
55 File neverball.exe neverputt.exe *.dll
57 File /oname=data\icon\neverball.ico dist\ico\neverball_basic_sizes.ico
58 File /oname=data\icon\neverputt.ico dist\ico\neverputt_basic_sizes.ico
60 WriteUninstaller $INSTDIR\uninstall.exe
63 # http://nsis.sourceforge.net/Add_uninstall_information_to_Add/Remove_Programs
65 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
66 "DisplayName" "Neverball ${VERSION}"
67 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
68 "DisplayVersion" "${VERSION}"
69 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
70 "DisplayIcon" "$INSTDIR\data\icon\neverball.ico"
71 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
72 "UninstallString" "$INSTDIR\uninstall.exe"
73 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
74 "URLInfoAbout" "http://www.neverball.org/"
75 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
76 "URLUpdateInfo" "http://www.neverball.org/"
77 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
78 "HelpLink" "http://www.nevercorner.net/"
79 WriteRegDWORD SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
81 WriteRegDWORD SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
85 Section "Mapping tools (compiler, maps, ...)"
90 SetOutPath "$INSTDIR\data"
92 File /r /x ".svn" data\*.map
93 File /r /x ".svn" data\obj
96 SectionGroup "Shortcuts"
97 Section "In Start menu"
98 # Reset to get a proper working directory for short-cuts
101 CreateDirectory "$SMPROGRAMS\Games"
104 "$SMPROGRAMS\Games\Neverball.lnk" \
105 "$INSTDIR\neverball.exe" "" \
106 "$INSTDIR\data\icon\neverball.ico"
109 "$SMPROGRAMS\Games\Neverputt.lnk" \
110 "$INSTDIR\neverputt.exe" "" \
111 "$INSTDIR\data\icon\neverputt.ico"
115 # Reset to get a proper working directory for short-cuts
119 "$DESKTOP\Neverball.lnk" \
120 "$INSTDIR\neverball.exe" "" \
121 "$INSTDIR\data\icon\neverball.ico"
124 "$DESKTOP\Neverputt.lnk" \
125 "$INSTDIR\neverputt.exe" "" \
126 "$INSTDIR\data\icon\neverputt.ico"
130 #------------------------------------------------------------------------------
132 UninstPage uninstConfirm
140 SetShellVarContext all
145 Delete "$SMPROGRAMS\Games\Neverball.lnk"
146 Delete "$SMPROGRAMS\Games\Neverputt.lnk"
147 RMDir "$SMPROGRAMS\Games"
148 Delete "$DESKTOP\Neverball.lnk"
149 Delete "$DESKTOP\Neverputt.lnk"
151 DeleteRegKey SHELL_CONTEXT ${UNINSTALL_REG_ROOT}
153 # FIXME: unsafe if the directory contains other-than-installed stuff
157 #------------------------------------------------------------------------------
159 # URL: http://nsis.sourceforge.net/IsUserAdmin
160 # Author: Lilla (lilla@earthlink.net) 2003-06-13
162 !macro IsUserAdmin un
163 Function ${un}IsUserAdmin
172 UserInfo::GetAccountType
175 StrCmp $R2 "Admin" 0 Continue
195 !insertmacro IsUserAdmin ""
196 !insertmacro IsUserAdmin "un."
198 #------------------------------------------------------------------------------
200 # vim:sts=4:sw=4:et:nowrap: