0
+ − 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
;; No Commercial Usage
+ − 11
;; This file contains pre-release code and may not be distributed.
+ − 12
;; You may use this file in accordance with the terms and conditions
+ − 13
;; contained in the Technology Preview License Agreement accompanying
+ − 14
;; this package.
+ − 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
;; If you have questions regarding the use of this file, please contact
+ − 29
;; Nokia at qt-info@nokia.com.
+ − 30
;;
+ − 31
;;
+ − 32
;;
+ − 33
;;
+ − 34
;;
+ − 35
;;
+ − 36
;;
+ − 37
;;
+ − 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