The branch, master, has been updated. - Log -----------------------------------------------------------------
commit 22cfcab074278e22bdbc9dd2b24e9ab3df2e1587 Author: Uwe Stöhr <uwesto...@lyx.org> Date: Mon Dec 31 17:28:50 2012 +0100 installer: various fixed for immediate release - LaTeX.nsh: fix bug that installer stopped working if LyX was installed the first time on a computer - init.nsh: - fix failing installation of Slovakian spellcheck dictionary - expand list of available dictionaries as requested by users - dictionaries.nsh: prevent case that the installer could run an infinite loop if the installation of dictionaries was interrupted - settings.nsh: use a HTTP repository for MiKTeX instead of FTP because many companies deny FTP access by default in their firewalls diff --git a/development/Win32/packaging/installer/ChangeLog.txt b/development/Win32/packaging/installer/ChangeLog.txt index 9b98d6e..81b6538 100644 --- a/development/Win32/packaging/installer/ChangeLog.txt +++ b/development/Win32/packaging/installer/ChangeLog.txt @@ -1,4 +1,18 @@ Changelog for LyX-205-5: +Bugfixes: +- fix bug that installer stopped working if LyX was installed + the first time on a computer +- fix failing installation of Slovakian spellcheck dictionary +- prevent case that the installer could run an infinite loop if the + installation of dictionaries was interrupted +- added missing files to the installer source zip-file so that it can now really be + used to compile the installer +- updated to Qt 4.8.4 (Fixes a problem that with some screen font zooms, lines and dots disappeared.) + +New features: +- give feedback about the state of the package installation + (Especially if LyX is installed the first time, the package installation can take several minutes. + Now the installer prints in the progress window the name of the package that is currently installed.) - the installer supports now the usage of TeXLive as LaTeX distribution. (TeXLive must be manually installed before LyX.) - updated spell-checker dictionaries for Scottish and Swedish diff --git a/development/Win32/packaging/installer/include/LaTeX.nsh b/development/Win32/packaging/installer/include/LaTeX.nsh index 809442b..ec92402 100644 --- a/development/Win32/packaging/installer/include/LaTeX.nsh +++ b/development/Win32/packaging/installer/include/LaTeX.nsh @@ -84,6 +84,12 @@ Function LaTeXActions ${if} $PathLaTeX != "" StrCpy $LaTeXInstalled "MiKTeX" + # on some installations the path ends with a "\" on some not + # therefore assure that we remove it if it exists + StrCpy $0 $PathLaTeX "" -1 + ${if} $0 == "\" + StrCpy $PathLaTeX "$PathLaTeX" -1 # delete "\" + ${endif} ${endif} # test if TeXLive is installed @@ -108,7 +114,7 @@ Function LaTeXActions ReadRegStr $String HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\TeXLive2012" "UninstallString" ${endif} ${if} $String != "" - StrCpy $String $String -27 # remove 'tlpkg\installer\uninst.bat"' + StrCpy $String $String -28 # remove '\tlpkg\installer\uninst.bat"' StrCpy $String $String "" 1 # remove the leading quote ${endif} StrCpy $PathLaTeX "$String\bin\win32" @@ -148,22 +154,11 @@ FunctionEnd MessageBox MB_OK|MB_ICONINFORMATION "$(LatexInfo)" ExecWait ${MiKTeXInstall} # test if MiKTeX is installed - ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" - StrCpy $Search "miktex" - Call LaTeXCheck # function from LyXUtils.nsh - ${if} $PathLaTeX != "" - StrCpy $MiKTeXUser "HKLM" - ${else} - StrCpy $MiKTeXUser "HKCU" - ReadRegStr $String HKCU "Environment" "Path" - StrCpy $Search "miktex" - Call LaTeXCheck # function from LyXUtils.nsh - ${endif} + Call LaTeXActions ${if} $PathLaTeX != "" - # set package repository (MiKTeX's primary package repository) + # special entry that it was installed together with LyX + # so that we can later uninstall it together with LyX ${if} $MiKTeXUser == "HKCU" - # special entry that it was installed together with LyX - # so that we can later uninstall it together with LyX WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${APP_SERIES_KEY}" ${else} WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${APP_SERIES_KEY}" @@ -303,7 +298,6 @@ Function UpdateMiKTeX MessageBox MB_YESNO|MB_ICONINFORMATION "$(MiKTeXInfo)" IDYES UpdateNow IDNO UpdateLater UpdateNow: - StrCpy $0 $PathLaTeX -4 # remove "\bin" # the update wizard is started by the miktex-update.exe ${if} $MultiUser.Privileges != "Admin" ${andif} $MultiUser.Privileges != "Power" diff --git a/development/Win32/packaging/installer/include/dictionaries.nsh b/development/Win32/packaging/installer/include/dictionaries.nsh index 14ee692..b533bae 100644 --- a/development/Win32/packaging/installer/include/dictionaries.nsh +++ b/development/Win32/packaging/installer/include/dictionaries.nsh @@ -77,7 +77,7 @@ Function DownloadHunspellDictionaries # if first download repository is not available try the other ones listed in "DictionaryMirrors.txt" FileOpen $R4 "$INSTDIR\Resources\DictionaryMirrors.txt" r - ${For} $4 1 8 + ${For} $4 1 8 # we know about 8 mirrors FileRead $R4 $Search # $Search is now the mirror StrCpy $Search $Search -2 # delete the linebreak characters at the end Push $R0 @@ -155,24 +155,29 @@ FunctionEnd Function InstallHunspellDictionaries # installs the selected hunspell dictionaries except of already existing ones - # download the dictionaries ${Do} # take the first code StrCpy $Search "," StrCpy $String $DictCodes Call StrPoint + # we always have a "," for each code, so in case in case something + # went wrong, empty the code list to exit the loop + ${if} $Pointer == "-1" + StrCpy $DictCodes "" + ${endif} ${if} $Pointer != "-1" StrCpy $DictCode $DictCodes $Pointer # remove the taken code from the list IntOp $Pointer $Pointer + 1 StrCpy $DictCodes $DictCodes "" $Pointer - ${endif} - # don't dowload existing ones thus check if $DictCode is in $FoundDict - StrCpy $String $FoundDict - StrCpy $Search $DictCode - Call StrPoint # function from LyXUtils.nsh - ${if} $Pointer == "-1" - Call DownloadHunspellDictionaries + # don't dowload existing ones thus check if $DictCode is in $FoundDict + StrCpy $String $FoundDict + StrCpy $Search $DictCode + Call StrPoint # function from LyXUtils.nsh + ${if} $Pointer == "-1" + # download the dictionaries + Call DownloadHunspellDictionaries + ${endif} ${endif} ${LoopUntil} $DictCodes == "" @@ -183,17 +188,29 @@ FunctionEnd Function InstallThesaurusDictionaries # installs the selected thesaurus dictionaries except of already existing ones - # download the dictionaries ${Do} - # all codes have 5 characters - StrCpy $ThesCode $ThesCodes 5 # take the first code - StrCpy $ThesCodes $ThesCodes "" 5 # remove the taken code from the list - # don't dowload existing ones thus check if $ThesCode is in $FoundThes - StrCpy $String $FoundThes - StrCpy $Search $ThesCode - Call StrPoint # function from LyXUtils.nsh + # take the first code + StrCpy $Search "," + StrCpy $String $ThesCodes + Call StrPoint + # we always have a "," for each code, so in case in case something + # went wrong, empty the code list to exit the loop ${if} $Pointer == "-1" - Call DownloadThesaurusDictionaries + StrCpy $ThesCodes "" + ${endif} + ${if} $Pointer != "-1" + StrCpy $ThesCode $ThesCodes $Pointer + # remove the taken code from the list + IntOp $Pointer $Pointer + 1 + StrCpy $ThesCodes $ThesCodes "" $Pointer + # don't dowload existing ones thus check if $ThesCode is in $FoundThes + StrCpy $String $FoundThes + StrCpy $Search $ThesCode + Call StrPoint # function from LyXUtils.nsh + ${if} $Pointer == "-1" + # download the dictionaries + Call DownloadThesaurusDictionaries + ${endif} ${endif} ${LoopUntil} $ThesCodes == "" diff --git a/development/Win32/packaging/installer/include/init.nsh b/development/Win32/packaging/installer/include/init.nsh index b7403a5..9472d44 100644 --- a/development/Win32/packaging/installer/include/init.nsh +++ b/development/Win32/packaging/installer/include/init.nsh @@ -63,7 +63,10 @@ SectionEnd SectionEnd !endif -SectionGroup "Dictionaries" SecDictionaries +# Expand the list of dictionaries by default as this was requested by several +# users. For the thesaurus this is was not requested because this section +# is by default empty. +SectionGroup /e "Dictionaries" SecDictionaries Section /o "Afrikaans" SecDAfrikaans StrCpy $DictCodes "af_ZA,$DictCodes" @@ -368,7 +371,7 @@ Section /o "Sloven SectionEnd Section /o "Slovenský" SecDSlovakian - StrCpy $DictCodes "sk_SK$ThesCodes" + StrCpy $DictCodes "sk_SK,$DictCodes" AddSize 4090 SectionEnd @@ -379,7 +382,7 @@ SectionEnd Section /o "Svenska" SecDSwedish StrCpy $DictCodes "sv_SE,$DictCodes" - AddSize 2030 + AddSize 2028 SectionEnd # enable this for LyX 2.1! @@ -421,112 +424,112 @@ SectionGroupEnd SectionGroup "Thesaurus" SecThesaurus Section /o "Bulgarian" SecTBulgarian - StrCpy $ThesCodes "bg_BG$ThesCodes" + StrCpy $ThesCodes "bg_BG,$ThesCodes" AddSize 3020 SectionEnd Section /o "Català" SecTCatalan - StrCpy $ThesCodes "ca_ES$ThesCodes" + StrCpy $ThesCodes "ca_ES,$ThesCodes" AddSize 731 SectionEnd Section /o "Cetina" SecTCzech - StrCpy $ThesCodes "cs_CZ$ThesCodes" + StrCpy $ThesCodes "cs_CZ,$ThesCodes" AddSize 635 SectionEnd Section /o "Dansk" SecTDanish - StrCpy $ThesCodes "da_DK$ThesCodes" + StrCpy $ThesCodes "da_DK,$ThesCodes" AddSize 2360 SectionEnd Section /o "Deutsch (D/A)" SecTGermanDA - StrCpy $ThesCodes "de_DE$ThesCodes" + StrCpy $ThesCodes "de_DE,$ThesCodes" AddSize 14600 SectionEnd Section /o "Deutsch (CH)" SecTGermanCH - StrCpy $ThesCodes "de_CH$ThesCodes" + StrCpy $ThesCodes "de_CH,$ThesCodes" AddSize 14600 SectionEnd Section /o "English (GB)" SecTEnglishGB - StrCpy $ThesCodes "en_GB$ThesCodes" + StrCpy $ThesCodes "en_GB,$ThesCodes" AddSize 20600 SectionEnd Section /o "English (US/AU)" SecTEnglishUSAU - StrCpy $ThesCodes "en_US$ThesCodes" + StrCpy $ThesCodes "en_US,$ThesCodes" AddSize 20600 SectionEnd Section /o "Español" SecTSpanish - StrCpy $ThesCodes "es_ES$ThesCodes" + StrCpy $ThesCodes "es_ES,$ThesCodes" AddSize 2860 SectionEnd Section /o "Français" SecTFrench - StrCpy $ThesCodes "fr_FR$ThesCodes" + StrCpy $ThesCodes "fr_FR,$ThesCodes" AddSize 5060 SectionEnd Section /o "Gaeilge" SecTGaelic - StrCpy $ThesCodes "ga_IR$ThesCodes" + StrCpy $ThesCodes "ga_IR,$ThesCodes" AddSize 30600 SectionEnd Section /o "Greek" SecTGreek - StrCpy $ThesCodes "el_GR$ThesCodes" + StrCpy $ThesCodes "el_GR,$ThesCodes" AddSize 903 SectionEnd Section /o "Italiano" SecTItalian - StrCpy $ThesCodes "it_IT$ThesCodes" + StrCpy $ThesCodes "it_IT,$ThesCodes" AddSize 2640 SectionEnd Section /o "Magyar" SecTHungarian - StrCpy $ThesCodes "hu_HU$ThesCodes" + StrCpy $ThesCodes "hu_HU,$ThesCodes" AddSize 632 SectionEnd Section /o "Norsk" SecTNorwegian - StrCpy $ThesCodes "no_NO$ThesCodes" + StrCpy $ThesCodes "no_NO,$ThesCodes" AddSize 2470 SectionEnd Section /o "Polski" SecTPolish - StrCpy $ThesCodes "pl_PL$ThesCodes" + StrCpy $ThesCodes "pl_PL,$ThesCodes" AddSize 5580 SectionEnd Section /o "Português" SecTPortuguese - StrCpy $ThesCodes "pt_PT$ThesCodes" + StrCpy $ThesCodes "pt_PT,$ThesCodes" AddSize 855 SectionEnd Section /o "Româna" SecTRomanian - StrCpy $ThesCodes "ro_RO$ThesCodes" + StrCpy $ThesCodes "ro_RO,$ThesCodes" AddSize 3640 SectionEnd Section /o "Russian" SecTRussian - StrCpy $ThesCodes "ru_RU$ThesCodes" + StrCpy $ThesCodes "ru_RU,$ThesCodes" AddSize 2080 SectionEnd Section /o "Slovencina" SecTSlovenian - StrCpy $ThesCodes "sl_SI$ThesCodes" + StrCpy $ThesCodes "sl_SI,$ThesCodes" AddSize 1037 SectionEnd Section /o "Slovenský" SecTSlovakian - StrCpy $ThesCodes "sk_SK$ThesCodes" + StrCpy $ThesCodes "sk_SK,$ThesCodes" AddSize 907 SectionEnd Section /o "Svenska" SecTSwedish - StrCpy $ThesCodes "sv_SE$ThesCodes" + StrCpy $ThesCodes "sv_SE,$ThesCodes" AddSize 720 SectionEnd diff --git a/development/Win32/packaging/installer/settings.nsh b/development/Win32/packaging/installer/settings.nsh index a318f24..d6c5190 100644 --- a/development/Win32/packaging/installer/settings.nsh +++ b/development/Win32/packaging/installer/settings.nsh @@ -46,7 +46,9 @@ These typically need to be modified for each LyX release # MiKTeX # Sizes in KB -!define MiKTeXRepo "ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/" +# it seems that some companies block ftp access by default, therefore http access is preferred here +!define MiKTeXRepo "http://ftp.fernuni-hagen.de/ftp-dir/pub/mirrors/www.ctan.org/systems/win32/miktex/tm/packages/" +#!define MiKTeXRepo "ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/" !define JabRefVersion "2.8.1" !define MiKTeXDeliveredVersion "2.9" diff --git a/development/Win32/packaging/installer/setup/configure.nsh b/development/Win32/packaging/installer/setup/configure.nsh index 40700b0..06b250d 100644 --- a/development/Win32/packaging/installer/setup/configure.nsh +++ b/development/Win32/packaging/installer/setup/configure.nsh @@ -195,6 +195,7 @@ Section -ConfigureScript SetOutPath "$INSTDIR\Resources" DetailPrint $(TEXT_CONFIGURE_LYX) nsExec::ExecToLog '"$INSTDIR\Python\python.exe" "$INSTDIR\Resources\configure.py"' + # $ConfigureReturn is "0" if successful, otherwise "1" Pop $ConfigureReturn # Return value # ask to update MiKTeX ----------------------------------------------------------------------- Summary of changes: .../Win32/packaging/installer/ChangeLog.txt | 14 +++++ .../Win32/packaging/installer/include/LaTeX.nsh | 26 ++++------ .../packaging/installer/include/dictionaries.nsh | 53 +++++++++++++------- .../Win32/packaging/installer/include/init.nsh | 53 ++++++++++--------- development/Win32/packaging/installer/settings.nsh | 4 +- .../Win32/packaging/installer/setup/configure.nsh | 1 + 6 files changed, 91 insertions(+), 60 deletions(-) hooks/post-receive -- The LyX Source Repository