1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
---|
2 | ;;
|
---|
3 | ;; Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
---|
4 | ;; All rights reserved.
|
---|
5 | ;; Contact: Nokia Corporation (qt-info@nokia.com)
|
---|
6 | ;;
|
---|
7 | ;; This file is part of the tools applications of the Qt Toolkit.
|
---|
8 | ;;
|
---|
9 | ;; $QT_BEGIN_LICENSE:LGPL$
|
---|
10 | ;; Commercial Usage
|
---|
11 | ;; Licensees holding valid Qt Commercial licenses may use this file in
|
---|
12 | ;; accordance with the Qt Commercial License Agreement provided with the
|
---|
13 | ;; Software or, alternatively, in accordance with the terms contained in
|
---|
14 | ;; a written agreement between you and Nokia.
|
---|
15 | ;;
|
---|
16 | ;; GNU Lesser General Public License Usage
|
---|
17 | ;; Alternatively, this file may be used under the terms of the GNU Lesser
|
---|
18 | ;; General Public License version 2.1 as published by the Free Software
|
---|
19 | ;; Foundation and appearing in the file LICENSE.LGPL included in the
|
---|
20 | ;; packaging of this file. Please review the following information to
|
---|
21 | ;; ensure the GNU Lesser General Public License version 2.1 requirements
|
---|
22 | ;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
---|
23 | ;;
|
---|
24 | ;; In addition, as a special exception, Nokia gives you certain additional
|
---|
25 | ;; rights. These rights are described in the Nokia Qt LGPL Exception
|
---|
26 | ;; version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
---|
27 | ;;
|
---|
28 | ;; GNU General Public License Usage
|
---|
29 | ;; Alternatively, this file may be used under the terms of the GNU
|
---|
30 | ;; General Public License version 3.0 as published by the Free Software
|
---|
31 | ;; Foundation and appearing in the file LICENSE.GPL included in the
|
---|
32 | ;; packaging of this file. Please review the following information to
|
---|
33 | ;; ensure the GNU General Public License version 3.0 requirements will be
|
---|
34 | ;; met: http://www.gnu.org/copyleft/gpl.html.
|
---|
35 | ;;
|
---|
36 | ;; If you have questions regarding the use of this file, please contact
|
---|
37 | ;; Nokia at qt-info@nokia.com.
|
---|
38 | ;; $QT_END_LICENSE$
|
---|
39 | ;;
|
---|
40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
---|
41 | ; Script generated by the HM NIS Edit Script Wizard.
|
---|
42 |
|
---|
43 | !include "config.nsh"
|
---|
44 | !include "includes\global.nsh"
|
---|
45 |
|
---|
46 | !define PRODUCT_PUBLISHER "Nokia Corporation and/or its subsidiary(-ies)"
|
---|
47 | !define PRODUCT_WEB_SITE "http://qt.nokia.com"
|
---|
48 |
|
---|
49 | !define INSTALL_ICON "images\install.ico"
|
---|
50 | !define WELCOME_PAGE_ICON "images\qt-wizard.bmp"
|
---|
51 | !define PAGE_HEADER_ICON "images\qt-header.bmp"
|
---|
52 |
|
---|
53 | !include "MUI.nsh"
|
---|
54 |
|
---|
55 | ; modules
|
---|
56 | !include "modules\mingw.nsh"
|
---|
57 | !include "modules\opensource.nsh"
|
---|
58 | !include "includes\instdir.nsh"
|
---|
59 | !include "modules\environment.nsh"
|
---|
60 | !include "modules\registeruiext.nsh"
|
---|
61 | !ifndef OPENSOURCE_BUILD
|
---|
62 | !include "modules\msvc.nsh"
|
---|
63 | !include "modules\addin7x.nsh"
|
---|
64 | !include "modules\qsa.nsh"
|
---|
65 | !include "modules\addin60.nsh"
|
---|
66 | !include "modules\debugext.nsh"
|
---|
67 | !include "modules\license.nsh"
|
---|
68 | !include "modules\vsip.nsh"
|
---|
69 | !include "modules\help.nsh"
|
---|
70 | !include "modules\evaluation.nsh"
|
---|
71 | !include "modules\eclipse.nsh"
|
---|
72 | !include "modules\qtjambieclipse.nsh"
|
---|
73 | !endif
|
---|
74 |
|
---|
75 | ; MUI Settings
|
---|
76 | !define MUI_ABORTWARNING
|
---|
77 | !define MUI_ICON "${INSTALL_ICON}"
|
---|
78 | !define MUI_UNICON "${INSTALL_ICON}"
|
---|
79 |
|
---|
80 | !define MUI_HEADERIMAGE
|
---|
81 | !define MUI_HEADERIMAGE_BITMAP "${PAGE_HEADER_ICON}"
|
---|
82 | !define MUI_HEADERIMAGE_UNBITMAP "${PAGE_HEADER_ICON}"
|
---|
83 |
|
---|
84 | !define MUI_WELCOMEFINISHPAGE_BITMAP "${WELCOME_PAGE_ICON}"
|
---|
85 | !define MUI_UNWELCOMEFINISHPAGE_BITMAP "${WELCOME_PAGE_ICON}"
|
---|
86 |
|
---|
87 | !ifdef WELCOME_NOTE
|
---|
88 | !define MUI_WELCOMEPAGE_TEXT "${WELCOME_NOTE}"
|
---|
89 | !endif
|
---|
90 | !insertmacro MUI_PAGE_WELCOME
|
---|
91 | !insertmacro OPENSOURCE_INITIALIZE
|
---|
92 | !ifndef OPENSOURCE_BUILD
|
---|
93 | !insertmacro EVALUATION_INITIALIZE
|
---|
94 | !insertmacro LICENSECHECK_INITIALIZE
|
---|
95 | !insertmacro MSVC_INITIALIZE
|
---|
96 | !insertmacro ADDIN7X_INITIALIZE
|
---|
97 | !insertmacro ADDIN60_INITIALIZE
|
---|
98 | !insertmacro DEBUGEXT_INITIALIZE
|
---|
99 | !insertmacro HELP_INITIALIZE
|
---|
100 | !insertmacro VSIP_INITIALIZE
|
---|
101 | !endif
|
---|
102 |
|
---|
103 | !ifdef USE_COMPONENT_PAGE
|
---|
104 | !insertmacro MUI_PAGE_COMPONENTS
|
---|
105 | !endif
|
---|
106 |
|
---|
107 | !ifdef USE_DIRECTORY_PAGE
|
---|
108 | !insertmacro INSTDIR_INITIALIZE
|
---|
109 | !endif
|
---|
110 |
|
---|
111 | !ifdef USE_STARTMENU_PAGE
|
---|
112 | !define MUI_STARTMENUPAGE_NODISABLE
|
---|
113 | !define MUI_STARTMENUPAGE_DEFAULTFOLDER "${DEFAULT_STARTMENU_STRING}"
|
---|
114 | !insertmacro MUI_PAGE_STARTMENU 1 $STARTMENU_STRING
|
---|
115 | !endif
|
---|
116 |
|
---|
117 | !insertmacro MINGW_INITIALIZE
|
---|
118 | !insertmacro ENVIRONMENT_INITIALIZE
|
---|
119 | !insertmacro REGISTERUIEXT_INITIALIZE
|
---|
120 | !ifndef OPENSOURCE_BUILD
|
---|
121 | !insertmacro QSA_INITIALIZE
|
---|
122 | !insertmacro ECLIPSE_INITIALIZE
|
---|
123 | !insertmacro QTJAMBIECLIPSE_INITIALIZE
|
---|
124 | !endif
|
---|
125 |
|
---|
126 | !define MUI_FINISHPAGE_NOAUTOCLOSE
|
---|
127 |
|
---|
128 | !insertmacro MUI_PAGE_INSTFILES
|
---|
129 | !ifdef README_FILE
|
---|
130 | !define MUI_FINISHPAGE_SHOWREADME ${README_FILE}
|
---|
131 | !else
|
---|
132 | !ifdef README_FUNCTION
|
---|
133 | !define MUI_FINISHPAGE_SHOWREADME
|
---|
134 | !define MUI_FINISHPAGE_SHOWREADME_TEXT "${README_FUNCTION}"
|
---|
135 | !define MUI_FINISHPAGE_SHOWREADME_FUNCTION "CommonReadmeFunction"
|
---|
136 | !endif
|
---|
137 | !endif
|
---|
138 | !ifdef RUN_FUNCTION
|
---|
139 | !define MUI_FINISHPAGE_RUN
|
---|
140 | !define MUI_FINISHPAGE_RUN_TEXT "${RUN_FUNCTION}"
|
---|
141 | !define MUI_FINISHPAGE_RUN_FUNCTION "CommonRunFunction"
|
---|
142 | !endif
|
---|
143 | !insertmacro MUI_PAGE_FINISH
|
---|
144 |
|
---|
145 | !insertmacro MUI_UNPAGE_WELCOME
|
---|
146 | !define UNINSTALLER_CONFIRM_PAGE "confirmpage.ini"
|
---|
147 | UninstPage custom un.UninstallerConfirmPage
|
---|
148 | !insertmacro MUI_UNPAGE_INSTFILES
|
---|
149 |
|
---|
150 | !insertmacro MUI_UNPAGE_FINISH
|
---|
151 |
|
---|
152 | !insertmacro MUI_LANGUAGE "English"
|
---|
153 |
|
---|
154 | Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
---|
155 | OutFile ${OUTPUT_FILE}
|
---|
156 |
|
---|
157 | Section -PreCommonSection
|
---|
158 | !ifdef INSTDIR_0 ;the default one, must exist
|
---|
159 | strcpy $INSTDIR $${INSTDIR_0}_INSTDIR
|
---|
160 | ${StrRep} $PRODUCT_UNIQUE_KEY "${PRODUCT_NAME} ${PRODUCT_VERSION} - $INSTDIR" "\" "_"
|
---|
161 | strcpy $PRODUCT_UNIQUE_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\$PRODUCT_UNIQUE_KEY"
|
---|
162 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_0}_INSTDIR" "$${INSTDIR_0}_INSTDIR"
|
---|
163 | !endif
|
---|
164 | !ifdef INSTDIR_1
|
---|
165 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_1}_INSTDIR" "$${INSTDIR_1}_INSTDIR"
|
---|
166 | !endif
|
---|
167 | !ifdef INSTDIR_2
|
---|
168 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_2}_INSTDIR" "$${INSTDIR_2}_INSTDIR"
|
---|
169 | !endif
|
---|
170 | !ifdef INSTDIR_3
|
---|
171 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_3}_INSTDIR" "$${INSTDIR_3}_INSTDIR"
|
---|
172 | !endif
|
---|
173 | !ifdef INSTDIR_4
|
---|
174 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_4}_INSTDIR" "$${INSTDIR_4}_INSTDIR"
|
---|
175 | !endif
|
---|
176 | !ifdef INSTDIR_5
|
---|
177 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_5}_INSTDIR" "$${INSTDIR_5}_INSTDIR"
|
---|
178 | !endif
|
---|
179 |
|
---|
180 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "StartMenu" "$STARTMENU_STRING"
|
---|
181 | CreateDirectory "$SMPROGRAMS\$STARTMENU_STRING"
|
---|
182 | SectionEnd
|
---|
183 |
|
---|
184 | !insertmacro OPENSOURCE_SECTIONS
|
---|
185 | !insertmacro MINGW_SECTIONS
|
---|
186 | !insertmacro ENVIRONMENT_SECTIONS
|
---|
187 | !insertmacro REGISTERUIEXT_SECTIONS
|
---|
188 | !ifndef OPENSOURCE_BUILD
|
---|
189 | !insertmacro MSVC_SECTIONS
|
---|
190 | !insertmacro ADDIN7X_SECTIONS
|
---|
191 | !insertmacro ADDIN60_SECTIONS
|
---|
192 | !insertmacro VSIP_SECTIONS
|
---|
193 | !insertmacro HELP_SECTIONS
|
---|
194 | !insertmacro DEBUGEXT_SECTIONS
|
---|
195 | !insertmacro LICENSECHECK_SECTIONS
|
---|
196 | !insertmacro QSA_SECTIONS
|
---|
197 | !insertmacro EVALUATION_SECTIONS
|
---|
198 | !insertmacro ECLIPSE_SECTIONS
|
---|
199 | !insertmacro QTJAMBIECLIPSE_SECTIONS
|
---|
200 | !endif
|
---|
201 |
|
---|
202 | !insertmacro INSTDIR_FUNCTIONS
|
---|
203 |
|
---|
204 | Section -CommonSection
|
---|
205 | WriteUninstaller "$INSTDIR\uninst.exe"
|
---|
206 |
|
---|
207 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "DisplayName" "$(^Name)"
|
---|
208 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "UninstallString" "$INSTDIR\uninst.exe"
|
---|
209 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "DisplayVersion" "${PRODUCT_VERSION}"
|
---|
210 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
---|
211 | WriteRegStr SHCTX "$PRODUCT_UNIQUE_KEY" "Publisher" "${PRODUCT_PUBLISHER}"
|
---|
212 |
|
---|
213 | WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
|
---|
214 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\qt.nokia.com.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
|
---|
215 | CreateShortCut "$SMPROGRAMS\$STARTMENU_STRING\Uninstall ${PRODUCT_NAME} ${PRODUCT_VERSION}.lnk" "$INSTDIR\uninst.exe"
|
---|
216 | SetOutPath "$INSTDIR"
|
---|
217 | SectionEnd
|
---|
218 |
|
---|
219 | Function CheckLocalLicenseProduct
|
---|
220 | !ifdef MODULE_LICENSECHECK
|
---|
221 | !insertmacro QSA_CHECKLICENSEPRODUCT
|
---|
222 | !endif
|
---|
223 | FunctionEnd
|
---|
224 |
|
---|
225 | Function .onInit
|
---|
226 | StrCpy $STARTMENU_STRING "${DEFAULT_STARTMENU_STRING}"
|
---|
227 |
|
---|
228 | !ifdef USE_UNINSTALL_PREVIOUS
|
---|
229 | push "${PRODUCT_NAME}"
|
---|
230 | call GetExistsPreviousInstallationOfProduct
|
---|
231 | exch $0
|
---|
232 | StrCmp $0 true 0 +3
|
---|
233 | MessageBox MB_OK|MB_ICONSTOP "A previous installation of ${PRODUCT_NAME} was detected.$\nPlease uninstall it before running this installer."
|
---|
234 | Abort
|
---|
235 | pop $0
|
---|
236 | !endif
|
---|
237 |
|
---|
238 | call SetAdminVar
|
---|
239 | StrCmp "$RUNNING_AS_ADMIN" "false" 0 common_running_as_admin
|
---|
240 | !ifdef USE_ADMIN_CHECK
|
---|
241 | MessageBox MB_OK|MB_ICONSTOP "You need to have administrator rights to install this software!"
|
---|
242 | Abort
|
---|
243 | !endif
|
---|
244 | SetShellVarContext current
|
---|
245 | goto common_admin_check_done
|
---|
246 | common_running_as_admin:
|
---|
247 | SetShellVarContext all
|
---|
248 | common_admin_check_done:
|
---|
249 |
|
---|
250 | !insertmacro INSTDIR_STARTUP
|
---|
251 |
|
---|
252 | !insertmacro OPENSOURCE_STARTUP
|
---|
253 | !insertmacro ENVIRONMENT_STARTUP
|
---|
254 | !insertmacro REGISTERUIEXT_STARTUP
|
---|
255 | !insertmacro MINGW_STARTUP
|
---|
256 | !ifndef OPENSOURCE_BUILD
|
---|
257 | !insertmacro LICENSECHECK_STARTUP
|
---|
258 | !insertmacro MSVC_STARTUP
|
---|
259 | !insertmacro EVALUATION_STARTUP
|
---|
260 | !insertmacro ADDIN7X_STARTUP
|
---|
261 | !insertmacro ADDIN60_STARTUP
|
---|
262 | !insertmacro DEBUGEXT_STARTUP
|
---|
263 | !insertmacro VSIP_STARTUP
|
---|
264 | !insertmacro HELP_STARTUP
|
---|
265 | !insertmacro QSA_STARTUP
|
---|
266 | !insertmacro ECLIPSE_STARTUP
|
---|
267 | !insertmacro QTJAMBIECLIPSE_STARTUP
|
---|
268 | !endif
|
---|
269 | FunctionEnd
|
---|
270 |
|
---|
271 | Function .onInstSuccess
|
---|
272 | !insertmacro ENVIRONMENT_FINISH
|
---|
273 | !insertmacro REGISTERUIEXT_FINISH
|
---|
274 | !insertmacro OPENSOURCE_FINISH
|
---|
275 | !insertmacro MINGW_FINISH
|
---|
276 | !ifndef OPENSOURCE_BUILD
|
---|
277 | !insertmacro LICENSECHECK_FINISH
|
---|
278 | !insertmacro MSVC_FINISH
|
---|
279 | !insertmacro EVALUATION_FINISH
|
---|
280 | !insertmacro ADDIN7X_FINISH
|
---|
281 | !insertmacro ADDIN60_FINISH
|
---|
282 | !insertmacro DEBUGEXT_FINISH
|
---|
283 | !insertmacro VSIP_FINISH
|
---|
284 | !insertmacro HELP_FINISH
|
---|
285 | !insertmacro QSA_FINISH
|
---|
286 | !insertmacro ECLIPSE_FINISH
|
---|
287 | !insertmacro QTJAMBIECLIPSE_FINISH
|
---|
288 | !endif
|
---|
289 | FunctionEnd
|
---|
290 |
|
---|
291 | Function un.onUninstSuccess
|
---|
292 | !insertmacro ENVIRONMENT_UNFINISH
|
---|
293 | !insertmacro REGISTERUIEXT_UNFINISH
|
---|
294 | !insertmacro OPENSOURCE_UNFINISH
|
---|
295 | !insertmacro MINGW_UNFINISH
|
---|
296 | !ifndef OPENSOURCE_BUILD
|
---|
297 | !insertmacro LICENSECHECK_UNFINISH
|
---|
298 | !insertmacro MSVC_UNFINISH
|
---|
299 | !insertmacro EVALUATION_UNFINISH
|
---|
300 | !insertmacro ADDIN7X_UNFINISH
|
---|
301 | !insertmacro ADDIN60_UNFINISH
|
---|
302 | !insertmacro DEBUGEXT_UNFINISH
|
---|
303 | !insertmacro VSIP_UNFINISH
|
---|
304 | !insertmacro HELP_UNFINISH
|
---|
305 | !insertmacro QSA_UNFINISH
|
---|
306 | !insertmacro ECLIPSE_UNFINISH
|
---|
307 | !insertmacro QTJAMBIECLIPSE_UNFINISH
|
---|
308 | !endif
|
---|
309 | FunctionEnd
|
---|
310 |
|
---|
311 | Function un.onInit
|
---|
312 | call un.SetAdminVar
|
---|
313 | StrCmp "$RUNNING_AS_ADMIN" "false" 0 common_running_as_admin
|
---|
314 | !ifdef USE_ADMIN_CHECK
|
---|
315 | MessageBox MB_OK|MB_ICONSTOP "You do not have the required access rights to uninstall this package."
|
---|
316 | Abort
|
---|
317 | !endif
|
---|
318 | SetShellVarContext current
|
---|
319 | goto common_admin_check_done
|
---|
320 | common_running_as_admin:
|
---|
321 | SetShellVarContext all
|
---|
322 | common_admin_check_done:
|
---|
323 |
|
---|
324 | ${UnStrRep} $PRODUCT_UNIQUE_KEY "${PRODUCT_NAME} ${PRODUCT_VERSION} - $INSTDIR" "\" "_"
|
---|
325 | strcpy $PRODUCT_UNIQUE_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\$PRODUCT_UNIQUE_KEY"
|
---|
326 |
|
---|
327 | push $0
|
---|
328 | ClearErrors
|
---|
329 | ReadRegStr $0 SHCTX "$PRODUCT_UNIQUE_KEY" "DisplayName"
|
---|
330 | IfErrors 0 +3
|
---|
331 | MessageBox MB_OK|MB_ICONSTOP "The uninstaller was unable to find the product to uninstall."
|
---|
332 | Abort
|
---|
333 | pop $0
|
---|
334 |
|
---|
335 | ReadRegStr $STARTMENU_STRING SHCTX "$PRODUCT_UNIQUE_KEY" "StartMenu"
|
---|
336 | StrCmp "$STARTMENU_STRING" "" 0 +2
|
---|
337 | StrCpy $STARTMENU_STRING "${DEFAULT_STARTMENU_STRING}"
|
---|
338 |
|
---|
339 | !ifdef INSTDIR_0 ;the default one, must exist
|
---|
340 | ReadRegStr $${INSTDIR_0}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_0}_INSTDIR"
|
---|
341 | !endif
|
---|
342 | !ifdef INSTDIR_1
|
---|
343 | ReadRegStr $${INSTDIR_1}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_1}_INSTDIR"
|
---|
344 | !endif
|
---|
345 | !ifdef INSTDIR_2
|
---|
346 | ReadRegStr $${INSTDIR_2}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_2}_INSTDIR"
|
---|
347 | !endif
|
---|
348 | !ifdef INSTDIR_3
|
---|
349 | ReadRegStr $${INSTDIR_3}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_3}_INSTDIR"
|
---|
350 | !endif
|
---|
351 | !ifdef INSTDIR_4
|
---|
352 | ReadRegStr $${INSTDIR_4}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_4}_INSTDIR"
|
---|
353 | !endif
|
---|
354 | !ifdef INSTDIR_5
|
---|
355 | ReadRegStr $${INSTDIR_5}_INSTDIR SHCTX "$PRODUCT_UNIQUE_KEY" "${INSTDIR_5}_INSTDIR"
|
---|
356 | !endif
|
---|
357 |
|
---|
358 | !insertmacro ENVIRONMENT_UNSTARTUP
|
---|
359 | !insertmacro REGISTERUIEXT_UNSTARTUP
|
---|
360 | !insertmacro OPENSOURCE_UNSTARTUP
|
---|
361 | !insertmacro MINGW_UNSTARTUP
|
---|
362 | !ifndef OPENSOURCE_BUILD
|
---|
363 | !insertmacro LICENSECHECK_UNSTARTUP
|
---|
364 | !insertmacro MSVC_UNSTARTUP
|
---|
365 | !insertmacro EVALUATION_UNSTARTUP
|
---|
366 | !insertmacro ADDIN7X_UNSTARTUP
|
---|
367 | !insertmacro ADDIN60_UNSTARTUP
|
---|
368 | !insertmacro DEBUGEXT_UNSTARTUP
|
---|
369 | !insertmacro VSIP_UNSTARTUP
|
---|
370 | !insertmacro HELP_UNSTARTUP
|
---|
371 | !insertmacro QSA_UNSTARTUP
|
---|
372 | !insertmacro ECLIPSE_UNSTARTUP
|
---|
373 | !insertmacro QTJAMBIECLIPSE_UNSTARTUP
|
---|
374 | !endif
|
---|
375 |
|
---|
376 | !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${UNINSTALLER_CONFIRM_PAGE}"
|
---|
377 | FunctionEnd
|
---|
378 |
|
---|
379 | !insertmacro OPENSOURCE_UNINSTALL
|
---|
380 | !insertmacro ENVIRONMENT_UNINSTALL
|
---|
381 | !insertmacro REGISTERUIEXT_UNINSTALL
|
---|
382 | !insertmacro MINGW_UNINSTALL
|
---|
383 | !ifndef OPENSOURCE_BUILD
|
---|
384 | !insertmacro HELP_UNINSTALL
|
---|
385 | !insertmacro DEBUGEXT_UNINSTALL
|
---|
386 | !insertmacro MSVC_UNINSTALL
|
---|
387 | !insertmacro EVALUATION_UNINSTALL
|
---|
388 | !insertmacro QSA_UNINSTALL
|
---|
389 | !insertmacro ECLIPSE_UNINSTALL
|
---|
390 | !insertmacro QTJAMBIECLIPSE_UNINSTALL
|
---|
391 | !endif
|
---|
392 |
|
---|
393 | Section Uninstall
|
---|
394 | !ifndef OPENSOURCE_BUILD
|
---|
395 | !insertmacro LICENSECHECK_UNINSTALL
|
---|
396 | !insertmacro ADDIN7X_UNINSTALL
|
---|
397 | !insertmacro ADDIN60_UNINSTALL
|
---|
398 | !insertmacro VSIP_UNINSTALL
|
---|
399 | !endif
|
---|
400 |
|
---|
401 | ; COMMON
|
---|
402 | Delete "$INSTDIR\${PRODUCT_NAME}.url"
|
---|
403 | Delete "$INSTDIR\uninst.exe"
|
---|
404 | Delete "$SMPROGRAMS\$STARTMENU_STRING\Uninstall ${PRODUCT_NAME} ${PRODUCT_VERSION}.lnk"
|
---|
405 | Delete "$SMPROGRAMS\$STARTMENU_STRING\qt.nokia.com.lnk"
|
---|
406 |
|
---|
407 | RMDir "$SMPROGRAMS\$STARTMENU_STRING"
|
---|
408 | RMDir "$INSTDIR"
|
---|
409 |
|
---|
410 | DeleteRegKey SHCTX "$PRODUCT_UNIQUE_KEY"
|
---|
411 | SectionEnd
|
---|
412 |
|
---|
413 | Function CommonRunFunction
|
---|
414 | !ifndef OPENSOURCE_BUILD
|
---|
415 | !insertmacro MSVC_RUN_FUNCTION
|
---|
416 | !insertmacro QSA_RUN_FUNCTION
|
---|
417 | !endif
|
---|
418 | !insertmacro MINGW_RUN_FUNCTION
|
---|
419 | DoneRunFunction:
|
---|
420 | FunctionEnd
|
---|
421 |
|
---|
422 | Function CommonReadmeFunction
|
---|
423 | !ifndef OPENSOURCE_BUILD
|
---|
424 | !insertmacro MSVC_README_FUNCTION
|
---|
425 | !endif
|
---|
426 | !insertmacro MINGW_README_FUNCTION
|
---|
427 | DoneReadmeFunction:
|
---|
428 | FunctionEnd
|
---|
429 |
|
---|
430 | Function un.UninstallerConfirmPage
|
---|
431 | !insertmacro MUI_HEADER_TEXT "Confirm" "Confirm Uninstallation Directories"
|
---|
432 | !insertmacro MUI_INSTALLOPTIONS_WRITE "${UNINSTALLER_CONFIRM_PAGE}" "Field 2" "Text" "$UninstallerConfirmProduct"
|
---|
433 | !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${UNINSTALLER_CONFIRM_PAGE}"
|
---|
434 | FunctionEnd
|
---|
435 |
|
---|
436 | ;pops product name from stack and as result pushes TRUE or FALSE on stack
|
---|
437 | Function GetExistsPreviousInstallationOfProduct
|
---|
438 | exch $0
|
---|
439 | push $1
|
---|
440 | push $2
|
---|
441 | push $3
|
---|
442 |
|
---|
443 | StrCpy $1 0
|
---|
444 | loop:
|
---|
445 | EnumRegKey $2 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall $1
|
---|
446 | StrCmp $2 "" no_reg_key_found
|
---|
447 | ${StrStr} $3 $2 $0
|
---|
448 | StrCmp $3 $2 reg_key_found
|
---|
449 | IntOp $1 $1 + 1
|
---|
450 | goto loop
|
---|
451 |
|
---|
452 | reg_key_found:
|
---|
453 | push true
|
---|
454 | goto done
|
---|
455 |
|
---|
456 | no_reg_key_found:
|
---|
457 | push false
|
---|
458 |
|
---|
459 | done:
|
---|
460 | exch
|
---|
461 | pop $3
|
---|
462 | exch
|
---|
463 | pop $2
|
---|
464 | exch
|
---|
465 | pop $1
|
---|
466 | exch
|
---|
467 | pop $0
|
---|
468 | FunctionEnd
|
---|
469 |
|
---|
470 | ;pops product name from stack
|
---|
471 | Function WarnIfInstalledProductDetected
|
---|
472 | exch $0
|
---|
473 | push $0
|
---|
474 | call GetExistsPreviousInstallationOfProduct
|
---|
475 | exch $1
|
---|
476 | StrCmp $1 true +1 +3
|
---|
477 | MessageBox MB_YESNO|MB_ICONQUESTION "An existing installation of $0 was detected.$\nIt is recommended to deinstall $0 before continuing.$\nDo you want to continue this installation nevertheless?" IDYES +2 IDNO +1
|
---|
478 | Abort
|
---|
479 | pop $1
|
---|
480 | pop $0
|
---|
481 | FunctionEnd
|
---|
482 |
|
---|
483 | ;sets $RUNNING_AS_ADMIN to "true" if Admin or Power user
|
---|
484 | !macro SetAdminVar UN
|
---|
485 | Function ${UN}SetAdminVar
|
---|
486 | push $0
|
---|
487 | ClearErrors
|
---|
488 | UserInfo::GetAccountType
|
---|
489 | IfErrors Admin ;It's probably Win95
|
---|
490 | pop $0
|
---|
491 | StrCmp $0 "Admin" Admin
|
---|
492 | StrCmp $0 "Power" Admin
|
---|
493 |
|
---|
494 | StrCpy $RUNNING_AS_ADMIN "false"
|
---|
495 | goto Done
|
---|
496 |
|
---|
497 | Admin:
|
---|
498 | StrCpy $RUNNING_AS_ADMIN "true"
|
---|
499 |
|
---|
500 | Done:
|
---|
501 | pop $0
|
---|
502 | FunctionEnd
|
---|
503 | !macroend
|
---|
504 | !insertmacro SetAdminVar ""
|
---|
505 | !insertmacro SetAdminVar "un."
|
---|
506 |
|
---|
507 | !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
---|
508 | !insertmacro OPENSOURCE_DESCRIPTION
|
---|
509 | !insertmacro ENVIRONMENT_DESCRIPTION
|
---|
510 | !insertmacro REGISTERUIEXT_DESCRIPTION
|
---|
511 | !insertmacro MINGW_DESCRIPTION
|
---|
512 | !ifndef OPENSOURCE_BUILD
|
---|
513 | !insertmacro MSVC_DESCRIPTION
|
---|
514 | !insertmacro EVALUATION_DESCRIPTION
|
---|
515 | !insertmacro ADDIN7X_DESCRIPTION
|
---|
516 | !insertmacro ADDIN60_DESCRIPTION
|
---|
517 | !insertmacro DEBUGEXT_DESCRIPTION
|
---|
518 | !insertmacro HELP_DESCRIPTION
|
---|
519 | !insertmacro VSIP_DESCRIPTION
|
---|
520 | !insertmacro QSA_DESCRIPTION
|
---|
521 | !insertmacro ECLIPSE_DESCRIPTION
|
---|
522 | !insertmacro QTJAMBIECLIPSE_DESCRIPTION
|
---|
523 | !endif
|
---|
524 | !insertmacro MUI_FUNCTION_DESCRIPTION_END
|
---|