pidgin/win32/nsis/pidgin-installer.nsi

branch
next.minor
changeset 29531
6c6d5606a625
parent 28624
b287044cda0e
parent 29519
3a00ddd41916
child 29633
dabf2a920e34
equal deleted inserted replaced
28662:a131a284c429 29531:6c6d5606a625
10 Var name 10 Var name
11 Var GTK_FOLDER 11 Var GTK_FOLDER
12 Var ISSILENT 12 Var ISSILENT
13 Var STARTUP_RUN_KEY 13 Var STARTUP_RUN_KEY
14 Var SPELLCHECK_SEL 14 Var SPELLCHECK_SEL
15 Var LANGUAGE_SET
16 15
17 ;-------------------------------- 16 ;--------------------------------
18 ;Configuration 17 ;Configuration
19 18
20 ;The name var is set in .onInit 19 ;The name var is set in .onInit
68 67
69 !define HKLM_APP_PATHS_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\pidgin.exe" 68 !define HKLM_APP_PATHS_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\pidgin.exe"
70 !define STARTUP_RUN_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" 69 !define STARTUP_RUN_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
71 !define PIDGIN_UNINST_EXE "pidgin-uninst.exe" 70 !define PIDGIN_UNINST_EXE "pidgin-uninst.exe"
72 71
73 !define GTK_MIN_VERSION "2.6.10" 72 !define GTK_MIN_VERSION "2.14.0"
74 !define GTK_REG_KEY "SOFTWARE\GTK\2.0" 73 !define GTK_REG_KEY "SOFTWARE\GTK\2.0"
75 !define PERL_REG_KEY "SOFTWARE\Perl" 74 !define PERL_REG_KEY "SOFTWARE\Perl"
76 !define PERL_DLL "perl510.dll" 75 !define PERL_DLL "perl510.dll"
77 !define GTK_DEFAULT_INSTALL_PATH "$COMMONFILES\GTK\2.0" 76 !define GTK_DEFAULT_INSTALL_PATH "$COMMONFILES\GTK\2.0"
78 !define GTK_RUNTIME_INSTALLER "..\..\..\..\gtk_installer\gtk-runtime-${GTK_INSTALL_VERSION}*.exe" 77 !define GTK_RUNTIME_INSTALLER "..\..\..\..\gtk_installer\gtk-runtime-${GTK_INSTALL_VERSION}*.exe"
1341 ; GTK installer has two silent states - one with Message boxes, one without 1340 ; GTK installer has two silent states - one with Message boxes, one without
1342 ; If pidgin installer was run silently, we want to supress gtk installer msg boxes. 1341 ; If pidgin installer was run silently, we want to supress gtk installer msg boxes.
1343 IfSilent 0 +2 1342 IfSilent 0 +2
1344 StrCpy $ISSILENT "/NOUI" 1343 StrCpy $ISSILENT "/NOUI"
1345 1344
1346 StrCpy $LANGUAGE_SET "0"
1347 ClearErrors 1345 ClearErrors
1348 ${GetOptions} "$R3" "/L=" $R1 1346 ${GetOptions} "$R3" "/L=" $R1
1349 IfErrors +4 1347 IfErrors +4
1350 StrCpy $LANGUAGE $R1 1348 StrCpy $LANGUAGE $R1
1351 StrCpy $LANGUAGE_SET "1"
1352 Goto skip_lang 1349 Goto skip_lang
1353 1350
1354 ; Select Language 1351 ; Select Language
1355 ; Display Language selection dialog 1352 ; Display Language selection dialog
1356 !define MUI_LANGDLL_ALWAYSSHOW 1353 !define MUI_LANGDLL_ALWAYSSHOW
1410 Pop $R2 1407 Pop $R2
1411 Pop $R1 1408 Pop $R1
1412 Pop $R0 1409 Pop $R0
1413 FunctionEnd 1410 FunctionEnd
1414 1411
1415 Function .onInstSuccess
1416 ; NSIS doesn't appear to save the language when in Silent Mode, so we do so manually
1417 IfSilent 0 done
1418
1419 StrCmp $LANGUAGE_SET "0" done
1420
1421 WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
1422
1423 done:
1424 FunctionEnd
1425
1426 Function un.onInit 1412 Function un.onInit
1427 Call un.RunCheck 1413 Call un.RunCheck
1428 StrCpy $name "Pidgin ${PIDGIN_VERSION}" 1414 StrCpy $name "Pidgin ${PIDGIN_VERSION}"
1429 ;LogSet on 1415 ;LogSet on
1430 1416
1465 Goto gtk_selection_done 1451 Goto gtk_selection_done
1466 gtk_not_mandatory: 1452 gtk_not_mandatory:
1467 ; Don't select the GTK+ section if we already have this version or newer installed 1453 ; Don't select the GTK+ section if we already have this version or newer installed
1468 !insertmacro UnselectSection ${SecGtk} 1454 !insertmacro UnselectSection ${SecGtk}
1469 gtk_selection_done: 1455 gtk_selection_done:
1470
1471 ; If on Win95/98/ME warn them that the GTK+ version wont work
1472 ${Unless} ${IsNT}
1473 !insertmacro UnselectSection ${SecGtk}
1474 !insertmacro SetSectionFlag ${SecGtk} ${SF_RO}
1475 MessageBox MB_OK $(GTK_WINDOWS_INCOMPATIBLE) /SD IDOK
1476 IntCmp $R0 1 done done ; Upgrade isn't optional - abort if we don't have a suitable version
1477 Quit
1478 ${EndIf}
1479 1456
1480 done: 1457 done:
1481 Pop $R2 1458 Pop $R2
1482 Pop $R1 1459 Pop $R1
1483 !endif 1460 !endif

mercurial