1 ;NSIS Modern User Interface
2 ;Start Menu Folder Selection Example Script
3 ;Written by Joost Verburg
5 ;--------------------------------
10 ;--------------------------------
15 OutFile "tinyerp-server-setup.exe"
17 ;Default installation folder
18 InstallDir "$PROGRAMFILES\TinyERP Server"
20 ;Get installation folder from registry if available
21 InstallDirRegKey HKCU "Software\TinyERP Server" ""
23 ;Vista redirects $SMPROGRAMS to all users without this
24 RequestExecutionLevel admin
26 ;--------------------------------
32 ;--------------------------------
35 !define MUI_ABORTWARNING
37 ;--------------------------------
40 !define MUI_ICON ".\pixmaps\tinyerp.ico"
41 !define MUI_UNICON ".\pixmaps\tinyerp.ico"
42 !define MUI_WELCOMEFINISHPAGE_BITMAP ".\pixmaps\tinyerp-intro.bmp"
43 !define MUI_HEADERIMAGE
44 !define MUI_HEADERIMAGE_BITMAP ".\pixmaps\tinyerp-header.bmp"
46 !insertmacro MUI_PAGE_WELCOME
47 !insertmacro MUI_PAGE_LICENSE "doc\\License.rtf"
48 # !insertmacro MUI_PAGE_COMPONENTS
49 !insertmacro MUI_PAGE_DIRECTORY
51 ;Start Menu Folder Page Configuration
52 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
53 !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\TinyERP Server"
54 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "TinyERP Server"
56 !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
58 !insertmacro MUI_PAGE_INSTFILES
60 !define MUI_FINISHPAGE_NOAUTOCLOSE
61 !define MUI_FINISHPAGE_RUN
62 !define MUI_FINISHPAGE_RUN_CHECKED
63 !define MUI_FINISHPAGE_RUN_TEXT "Start TinyERP Server"
64 !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
65 !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
66 !define MUI_FINISHPAGE_SHOWREADME $INSTDIR\README.txt
67 !insertmacro MUI_PAGE_FINISH
70 !insertmacro MUI_UNPAGE_WELCOME
71 !insertmacro MUI_UNPAGE_CONFIRM
72 !insertmacro MUI_UNPAGE_INSTFILES
74 ;--------------------------------
77 !insertmacro MUI_LANGUAGE "English"
79 ;--------------------------------
82 Section "TinyERP Server" SecTinyERPServer
84 nsExec::Exec "net stop tinyerp-service"
89 ;ADD YOUR OWN FILES HERE...
92 SetOutPath "$INSTDIR\service"
93 File /r "win32\\dist\\*"
94 File "win32\\start.bat"
95 File "win32\\stop.bat"
97 ;Store installation folder
98 WriteRegStr HKCU "Software\TinyERP Server" "" $INSTDIR
101 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TinyERP Server" "DisplayName" "TinyERP Server (remove only)"
102 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TinyERP Server" "UninstallString" "$INSTDIR\Uninstall.exe"
103 WriteUninstaller "$INSTDIR\Uninstall.exe"
106 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
109 CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
110 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\TinyERP Server.lnk" "$INSTDIR\tinyerp-server.exe"
111 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Start service.lnk" "$INSTDIR\service\start.bat"
112 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Stop service.lnk" "$INSTDIR\service\stop.bat"
113 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Edit config.lnk" "notepad.exe" "$INSTDIR\tinyerp-server.conf"
114 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\View log.lnk" "notepad.exe" "$INSTDIR\tinyerp-server.log"
116 !insertmacro MUI_STARTMENU_WRITE_END
118 nsExec::Exec '"$INSTDIR\\tinyerp-server.exe" --stop-after-init --logfile "$INSTDIR\\tinyerp-server.log" -s'
119 nsExec::Exec '"$INSTDIR\\service\\TinyERPServerService.exe" -auto -install'
126 LangString DESC_SecTinyERPServer ${LANG_ENGLISH} "TinyERP Server."
128 ;Assign language strings to sections
129 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
130 !insertmacro MUI_DESCRIPTION_TEXT ${SecTinyERPServer} $(DESC_SecTinyERPServer)
131 !insertmacro MUI_FUNCTION_DESCRIPTION_END
133 ;--------------------------------
138 nsExec::Exec "net stop tinyerp-service"
140 nsExec::Exec '"$INSTDIR\\service\\TinyERPServerService.exe" -remove'
143 ;ADD YOUR OWN FILES HERE...
144 Delete "$INSTDIR\Uninstall.exe"
145 Push "$INSTDIR\addons"
147 Call un.RmFilesButOne
150 Call un.RmFilesButOne
151 Delete "$INSTDIR\service\*"
154 Call un.RmFilesButOne
156 Delete "$INSTDIR\Uninstall.exe"
158 Push "$INSTDIR\addons"
163 RMDir "$INSTDIR\i18n"
169 RMDir "$INSTDIR\addons"
170 RMDir "$INSTDIR\service"
173 !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
175 Delete "$SMPROGRAMS\$MUI_TEMP\TinyERP Server.lnk"
176 Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
177 Delete "$SMPROGRAMS\$MUI_TEMP\Start service.lnk"
178 Delete "$SMPROGRAMS\$MUI_TEMP\Stop service.lnk"
179 Delete "$SMPROGRAMS\$MUI_TEMP\Edit config.lnk"
180 Delete "$SMPROGRAMS\$MUI_TEMP\View log.lnk"
182 ;Delete empty start menu parent diretories
183 StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
188 GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
190 IfErrors startMenuDeleteLoopDone
192 StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
193 startMenuDeleteLoopDone:
195 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TinyERP Server"
196 DeleteRegKey /ifempty HKCU "Software\TinyERP Server"
201 nsExec::Exec "net start tinyerp-service"
204 Function un.RmDirsButOne
205 Exch $R0 ; exclude dir
211 FindFirst $R3 $R2 "$R1\*.*"
218 IfFileExists "$R1\$R2\*.*" 0 Next
221 #Goto Exit ;uncomment this to stop it being recursive
238 Function un.RmFilesButOne
239 Exch $R0 ; exclude file
245 FindFirst $R3 $R2 "$R1\*.*"
252 IfFileExists "$R1\$R2\*.*" Next
255 #Goto Exit ;uncomment this to stop it being recursive