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"
26 SetCompressor /solid lzma
27 RequestExecutionLevel user
29 #------------------------------------------------------------------------------
41 SetShellVarContext all
45 Section "Neverball/Neverputt"
51 File /r /x .svn /x *.map /x obj data
54 File neverball.exe neverputt.exe *.dll
56 File /oname=data\icon\neverball.ico dist\ico\neverball_basic_sizes.ico
57 File /oname=data\icon\neverputt.ico dist\ico\neverputt_basic_sizes.ico
59 CreateDirectory "$INSTDIR\bin"
61 SetOutPath "$INSTDIR\bin"
63 File scripts\neverball.bat
64 File scripts\neverputt.bat
65 File tools\democonv.exe
66 File tools\convert-replays.bat
68 # http://nsis.sourceforge.net/\
69 # Add_uninstall_information_to_Add/Remove_Programs
71 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
72 "DisplayName" "Neverball ${VERSION}"
73 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
74 "DisplayVersion" "${VERSION}"
75 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
76 "DisplayIcon" "$INSTDIR\data\icon\neverball.ico"
77 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
78 "UninstallString" "$INSTDIR\uninstall.exe"
79 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
80 "URLInfoAbout" "http://www.neverball.org/"
81 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
82 "URLUpdateInfo" "http://www.neverball.org/"
83 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
84 "HelpLink" "http://www.nevercorner.net/"
85 WriteRegDWORD SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
87 WriteRegDWORD SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
90 WriteUninstaller "$INSTDIR\uninstall.exe"
93 Section "Mapping tools (compiler, maps, ...)"
97 File /oname=bin\mapc.bat scripts\mapc.bat
99 SetOutPath "$INSTDIR\data"
101 File /r /x ".svn" data\*.map
102 File /r /x ".svn" data\obj
105 SectionGroup "Shortcuts"
106 Section "In Start menu"
107 # Reset to get a proper working directory
108 SetOutPath "$INSTDIR"
110 CreateDirectory "$SMPROGRAMS\Neverball"
113 "$SMPROGRAMS\Neverball\Neverball.lnk" \
114 "$INSTDIR\neverball.exe" "" \
115 "$INSTDIR\data\icon\neverball.ico"
118 "$SMPROGRAMS\Neverball\Neverputt.lnk" \
119 "$INSTDIR\neverputt.exe" "" \
120 "$INSTDIR\data\icon\neverputt.ico"
124 # Reset to get a proper working directory
125 SetOutPath "$INSTDIR"
128 "$DESKTOP\Neverball.lnk" \
129 "$INSTDIR\neverball.exe" "" \
130 "$INSTDIR\data\icon\neverball.ico"
133 "$DESKTOP\Neverputt.lnk" \
134 "$INSTDIR\neverputt.exe" "" \
135 "$INSTDIR\data\icon\neverputt.ico"
139 #------------------------------------------------------------------------------
141 UninstPage uninstConfirm
149 SetShellVarContext all
154 Delete "$SMPROGRAMS\Neverball\Neverball.lnk"
155 Delete "$SMPROGRAMS\Neverball\Neverputt.lnk"
156 RMDir "$SMPROGRAMS\Neverball"
157 Delete "$DESKTOP\Neverball.lnk"
158 Delete "$DESKTOP\Neverputt.lnk"
160 DeleteRegKey SHELL_CONTEXT ${UNINSTALL_REG_ROOT}
162 # FIXME: unsafe if the directory contains other-than-installed stuff
166 #------------------------------------------------------------------------------
168 # URL: http://nsis.sourceforge.net/IsUserAdmin
169 # Author: Lilla (lilla@earthlink.net) 2003-06-13
171 !macro IsUserAdmin un
172 Function ${un}IsUserAdmin
181 UserInfo::GetAccountType
184 StrCmp $R2 "Admin" 0 Continue
204 !insertmacro IsUserAdmin ""
205 !insertmacro IsUserAdmin "un."
207 #------------------------------------------------------------------------------