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.ico
57 File /oname=data\icon\neverputt.ico dist\ico\neverputt.ico
59 CreateDirectory "$INSTDIR\bin"
61 SetOutPath "$INSTDIR\bin"
63 File scripts\neverball.bat
64 File scripts\neverputt.bat
66 # http://nsis.sourceforge.net/\
67 # Add_uninstall_information_to_Add/Remove_Programs
69 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
70 "DisplayName" "Neverball ${VERSION}"
71 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
72 "DisplayVersion" "${VERSION}"
73 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
74 "DisplayIcon" "$INSTDIR\data\icon\neverball.ico"
75 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
76 "UninstallString" "$INSTDIR\uninstall.exe"
77 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
78 "URLInfoAbout" "http://www.neverball.org/"
79 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
80 "URLUpdateInfo" "http://www.neverball.org/"
81 WriteRegStr SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
82 "HelpLink" "http://www.nevercorner.net/"
83 WriteRegDWORD SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
85 WriteRegDWORD SHELL_CONTEXT ${UNINSTALL_REG_ROOT} \
88 WriteUninstaller "$INSTDIR\uninstall.exe"
91 Section "Mapping tools (compiler, maps, ...)"
95 File /oname=bin\mapc.bat scripts\mapc.bat
97 SetOutPath "$INSTDIR\data"
99 File /r /x ".svn" data\*.map
100 File /r /x ".svn" data\*.obj
103 SectionGroup "Shortcuts"
104 Section "In Start menu"
105 # Reset to get a proper working directory
106 SetOutPath "$INSTDIR"
108 CreateDirectory "$SMPROGRAMS\Neverball"
111 "$SMPROGRAMS\Neverball\Neverball.lnk" \
112 "$INSTDIR\neverball.exe" "" \
113 "$INSTDIR\data\icon\neverball.ico"
116 "$SMPROGRAMS\Neverball\Neverputt.lnk" \
117 "$INSTDIR\neverputt.exe" "" \
118 "$INSTDIR\data\icon\neverputt.ico"
122 # Reset to get a proper working directory
123 SetOutPath "$INSTDIR"
126 "$DESKTOP\Neverball.lnk" \
127 "$INSTDIR\neverball.exe" "" \
128 "$INSTDIR\data\icon\neverball.ico"
131 "$DESKTOP\Neverputt.lnk" \
132 "$INSTDIR\neverputt.exe" "" \
133 "$INSTDIR\data\icon\neverputt.ico"
137 #------------------------------------------------------------------------------
139 UninstPage uninstConfirm
147 SetShellVarContext all
152 Delete "$SMPROGRAMS\Neverball\Neverball.lnk"
153 Delete "$SMPROGRAMS\Neverball\Neverputt.lnk"
154 RMDir "$SMPROGRAMS\Neverball"
155 Delete "$DESKTOP\Neverball.lnk"
156 Delete "$DESKTOP\Neverputt.lnk"
158 DeleteRegKey SHELL_CONTEXT ${UNINSTALL_REG_ROOT}
160 # FIXME: unsafe if the directory contains other-than-installed stuff
164 #------------------------------------------------------------------------------
166 # URL: http://nsis.sourceforge.net/IsUserAdmin
167 # Author: Lilla (lilla@earthlink.net) 2003-06-13
169 !macro IsUserAdmin un
170 Function ${un}IsUserAdmin
179 UserInfo::GetAccountType
182 StrCmp $R2 "Admin" 0 Continue
202 !insertmacro IsUserAdmin ""
203 !insertmacro IsUserAdmin "un."
205 #------------------------------------------------------------------------------