comparison pidgin/win32/nsis/pidgin-installer.nsi @ 28450:1b534812157d

Explicitly save the language when using the silent installer (if it is explicitly set). NSIS doesn\'t do this for us. Fixes #8658.
author Daniel Atallah <daniel.atallah@gmail.com>
date Wed, 26 Aug 2009 03:59:49 +0000
parents da22b6d0151e
children 23615d141245 6e9917e067e6
comparison
equal deleted inserted replaced
28448:572073acf8e7 28450:1b534812157d
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
15 16
16 ;-------------------------------- 17 ;--------------------------------
17 ;Configuration 18 ;Configuration
18 19
19 ;The name var is set in .onInit 20 ;The name var is set in .onInit
72 !define GTK_MIN_VERSION "2.6.10" 73 !define GTK_MIN_VERSION "2.6.10"
73 !define GTK_REG_KEY "SOFTWARE\GTK\2.0" 74 !define GTK_REG_KEY "SOFTWARE\GTK\2.0"
74 !define PERL_REG_KEY "SOFTWARE\Perl" 75 !define PERL_REG_KEY "SOFTWARE\Perl"
75 !define PERL_DLL "perl510.dll" 76 !define PERL_DLL "perl510.dll"
76 !define GTK_DEFAULT_INSTALL_PATH "$COMMONFILES\GTK\2.0" 77 !define GTK_DEFAULT_INSTALL_PATH "$COMMONFILES\GTK\2.0"
77 !define GTK_RUNTIME_INSTALLER "..\..\..\..\gtk_installer\gtk-runtime*.exe" 78 !define GTK_RUNTIME_INSTALLER "..\..\..\..\gtk_installer\gtk-runtime-${GTK_INSTALL_VERSION}*.exe"
78 79
79 !define ASPELL_REG_KEY "SOFTWARE\Aspell" 80 !define ASPELL_REG_KEY "SOFTWARE\Aspell"
80 !define DOWNLOADER_URL "http://pidgin.im/win32/download_redir.php" 81 !define DOWNLOADER_URL "http://pidgin.im/win32/download_redir.php"
81 82
82 ;-------------------------------- 83 ;--------------------------------
1339 ; 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
1340 ; 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.
1341 IfSilent 0 +2 1342 IfSilent 0 +2
1342 StrCpy $ISSILENT "/NOUI" 1343 StrCpy $ISSILENT "/NOUI"
1343 1344
1345 StrCpy $LANGUAGE_SET "0"
1344 ClearErrors 1346 ClearErrors
1345 ${GetOptions} "$R3" "/L=" $R1 1347 ${GetOptions} "$R3" "/L=" $R1
1346 IfErrors +3 1348 IfErrors +3
1347 StrCpy $LANGUAGE $R1 1349 StrCpy $LANGUAGE $R1
1350 StrCpy $LANGUAGE_SET "1"
1348 Goto skip_lang 1351 Goto skip_lang
1349 1352
1350 ; Select Language 1353 ; Select Language
1351 ; Display Language selection dialog 1354 ; Display Language selection dialog
1352 !insertmacro MUI_LANGDLL_DISPLAY 1355 !insertmacro MUI_LANGDLL_DISPLAY
1403 ;LogSet on 1406 ;LogSet on
1404 Pop $R3 1407 Pop $R3
1405 Pop $R2 1408 Pop $R2
1406 Pop $R1 1409 Pop $R1
1407 Pop $R0 1410 Pop $R0
1411 FunctionEnd
1412
1413 Function .onInstSuccess
1414 ; NSIS doesn't appear to save the language when in Silent Mode, so we do so manually
1415 IfSilent 0 done
1416
1417 StrCmp $LANGUAGE_SET "0" done
1418
1419 WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
1420
1421 done:
1408 FunctionEnd 1422 FunctionEnd
1409 1423
1410 Function un.onInit 1424 Function un.onInit
1411 Call un.RunCheck 1425 Call un.RunCheck
1412 StrCpy $name "Pidgin ${PIDGIN_VERSION}" 1426 StrCpy $name "Pidgin ${PIDGIN_VERSION}"