bugfixed for menu disable
[openerp-client.git] / openerp-client-installer.nsi
blob11de2b87701d757e3585108af1b6c6e6a63b4adc
1 ;NSIS Modern User Interface
2 ;Start Menu Folder Selection Example Script
3 ;Written by Joost Verburg
5 ;--------------------------------
6 ;Include Modern UI
8 !include "MUI.nsh"
10 ;--------------------------------
11 ;General
13 ;Name and file
14 Name "OpenERP Client"
15 OutFile "openerp-client-setup.exe"
17 ;Default installation folder
18 InstallDir "$PROGRAMFILES\OpenERP Client"
20 ;Get installation folder from registry if available
21 InstallDirRegKey HKCU "Software\OpenERP Client" ""
23 ;Vista redirects $SMPROGRAMS to all users without this
24 RequestExecutionLevel admin
26 ;--------------------------------
27 ;Variables
29 Var MUI_TEMP
30 Var STARTMENU_FOLDER
32 ;--------------------------------
33 ;Interface Settings
35 !define MUI_ABORTWARNING
37 ;--------------------------------
38 ;Pages
40 !define MUI_ICON ".\bin\pixmaps\openerp.ico"
41 !define MUI_UNICON ".\bin\pixmaps\openerp.ico"
42 !define MUI_WELCOMEFINISHPAGE_BITMAP ".\bin\pixmaps\openerp-intro.bmp"
43 !define MUI_HEADERIMAGE
44 !define MUI_HEADERIMAGE_BITMAP ".\bin\pixmaps\openerp-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\OpenERP Client"
54 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "OpenERP Client"
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 OpenERP Client"
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 ;--------------------------------
75 ;Languages
77 !insertmacro MUI_LANGUAGE "English"
79 ;--------------------------------
80 ;Installer Sections
82 Section "OpenERP Client" SecOpenERPClient
84 SetOutPath "$INSTDIR"
86 ;ADD YOUR OWN FILES HERE...
87 File /r "dist\\*"
89 SetOutPath "$INSTDIR\\GTK"
90 File /r "C:\GTK\*"
92 SetOutPath "$INSTDIR\\doc"
93 File "doc\\*"
95 ;Store installation folder
96 WriteRegStr HKCU "Software\OpenERP Client" "" $INSTDIR
98 ;Create uninstaller
99 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenERP Client" "DisplayName" "OpenERP Client (remove only)"
100 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenERP Client" "UninstallString" "$INSTDIR\Uninstall.exe"
101 WriteUninstaller "$INSTDIR\Uninstall.exe"
103 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
105 ;Create shortcuts
106 CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
107 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenERP Client.lnk" "$INSTDIR\openerp-client.exe"
109 !insertmacro MUI_STARTMENU_WRITE_END
111 SectionEnd
113 ;Descriptions
115 ;Language strings
116 LangString DESC_SecOpenERPClient ${LANG_ENGLISH} "OpenERP Client."
118 ;Assign language strings to sections
119 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
120 !insertmacro MUI_DESCRIPTION_TEXT ${SecOpenERPClient} $(DESC_SecOpenERPClient)
121 !insertmacro MUI_FUNCTION_DESCRIPTION_END
123 ;--------------------------------
124 ;Uninstaller Section
126 Section "Uninstall"
128 ;ADD YOUR OWN FILES HERE...
129 Push "$INSTDIR\GTK"
130 Push ""
131 Call un.RmFilesButOne
133 Delete "$INSTDIR\matplotlibdata\*"
134 Delete "$INSTDIR\pict\*"
135 Delete "$INSTDIR\icons\*"
136 Delete "$INSTDIR\pixmaps\*"
137 Delete "$INSTDIR\pict\*"
138 Delete "$INSTDIR\po\*"
139 Push "$INSTDIR\themes"
140 Push ""
141 Call un.RmFilesButOne
142 Push "$INSTDIR\share"
143 Push ""
144 Call un.RmFilesButOne
145 Delete "$INSTDIR\doc\*"
147 Delete "$INSTDIR\*"
149 Delete "$INSTDIR\Uninstall.exe"
151 Push "$INSTDIR\GTK"
152 Push ""
153 Call un.RmDirsButOne
154 RMDir "$INSTDIR\GTK"
156 RMDir "$INSTDIR\matplotlibdata"
157 RMDir "$INSTDIR\pict"
158 RMDir "$INSTDIR\icons"
159 RMDir "$INSTDIR\pixmaps"
160 RMDir "$INSTDIR\po"
161 Push "$INSTDIR\themes"
162 Push ""
163 Call un.RmDirsButOne
164 RMDir "$INSTDIR\themes"
165 Push "$INSTDIR\share"
166 Push ""
167 Call un.RmDirsButOne
168 RMDir "$INSTDIR\share"
169 RMDir "$INSTDIR\doc"
170 RMDir "$INSTDIR"
172 !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
174 Delete "$SMPROGRAMS\$MUI_TEMP\OpenERP Client.lnk"
176 ;Delete empty start menu parent diretories
177 StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
179 startMenuDeleteLoop:
180 ClearErrors
181 RMDir $MUI_TEMP
182 GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
184 IfErrors startMenuDeleteLoopDone
186 StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
187 startMenuDeleteLoopDone:
189 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenERP Client"
190 DeleteRegKey /ifempty HKCU "Software\OpenERP Client"
192 SectionEnd
194 Function LaunchLink
195 ExecShell "" "$INSTDIR\openerp-client.exe"
196 FunctionEnd
198 Function un.RmDirsButOne
199 Exch $R0 ; exclude dir
200 Exch
201 Exch $R1 ; route dir
202 Push $R2
203 Push $R3
205 FindFirst $R3 $R2 "$R1\*.*"
206 IfErrors Exit
208 Top:
209 StrCmp $R2 "." Next
210 StrCmp $R2 ".." Next
211 StrCmp $R2 $R0 Next
212 IfFileExists "$R1\$R2\*.*" 0 Next
213 RmDir /r "$R1\$R2"
215 #Goto Exit ;uncomment this to stop it being recursive
217 Next:
218 ClearErrors
219 FindNext $R3 $R2
220 IfErrors Exit
221 Goto Top
223 Exit:
224 FindClose $R3
226 Pop $R3
227 Pop $R2
228 Pop $R1
229 Pop $R0
230 FunctionEnd
232 Function un.RmFilesButOne
233 Exch $R0 ; exclude file
234 Exch
235 Exch $R1 ; route dir
236 Push $R2
237 Push $R3
239 FindFirst $R3 $R2 "$R1\*.*"
240 IfErrors Exit
242 Top:
243 StrCmp $R2 "." Next
244 StrCmp $R2 ".." Next
245 StrCmp $R2 $R0 Next
246 IfFileExists "$R1\$R2\*.*" Next
247 Delete "$R1\$R2"
249 #Goto Exit ;uncomment this to stop it being recursive
251 Next:
252 ClearErrors
253 FindNext $R3 $R2
254 IfErrors Exit
255 Goto Top
257 Exit:
258 FindClose $R3
260 Pop $R3
261 Pop $R2
262 Pop $R1
263 Pop $R0
264 FunctionEnd