commit 4c7f46020acfd93049d4a2db2e9932108f0debc7 Author: Uwe Stöhr <uwesto...@lyx.org> Date: Sun Mar 11 14:36:40 2018 +0100
Win installer: prepare 2.2.4 release --- .../Win32/packaging/installer/ChangeLog.txt | 2 +- .../Win32/packaging/installer/include/LaTeX.nsh | 86 +++++++++++++++++-- .../Win32/packaging/installer/include/filelist.nsh | 3 +- 3 files changed, 79 insertions(+), 12 deletions(-) diff --git a/development/Win32/packaging/installer/ChangeLog.txt b/development/Win32/packaging/installer/ChangeLog.txt index 6c52438..821559c 100644 --- a/development/Win32/packaging/installer/ChangeLog.txt +++ b/development/Win32/packaging/installer/ChangeLog.txt @@ -4,7 +4,7 @@ - fix installation of Arabic spell checker - LyX will work under Windows Vista but is no longer supported - updated to MiKTeX 2.9 build 6615 -- updated to ImageMagick 7.0.7-22 +- updated to ImageMagick 7.0.7-25 - updated to Qt 5.9.4 - new thesaurus for Arabic - updated thesaurus for Ukrainian diff --git a/development/Win32/packaging/installer/include/LaTeX.nsh b/development/Win32/packaging/installer/include/LaTeX.nsh index ecb82b4..c06d866 100644 --- a/development/Win32/packaging/installer/include/LaTeX.nsh +++ b/development/Win32/packaging/installer/include/LaTeX.nsh @@ -1,4 +1,4 @@ -/* +/* LaTeX.nsh Handling of LaTeX distributions @@ -388,21 +388,89 @@ FunctionEnd Function UpdateMiKTeX # asks to update MiKTeX - MessageBox MB_YESNO|MB_ICONINFORMATION "$(MiKTeXInfo)" /SD IDNO IDYES UpdateNow IDNO UpdateLater - UpdateNow: - # the update wizard is started by the miktex-update.exe + # only for the 2.2.4 installer: force a silent update of MiKTeX then restore + # MiKTeX's inernal links + # The reason is that MikTeX uses a new package handling system LyX must use + # Due to a bug in the old MikTeX package handling the update to the new package + # handling might fail and users cannot use LaTeX at all afterwards - they then + # would have no other choice than to reinstall MiKTeX + # This case is fixed by forcing the restoration of the internal links + # There is another issue: the MiKTeX update program needs to be replaced by + # the new MiKTeX console. This is a 3-step process. + #MessageBox MB_YESNO|MB_ICONINFORMATION "$(MiKTeXInfo)" #/SD IDNO IDYES UpdateNow IDNO UpdateLater + #UpdateNow: + # graphical update: + #MessageBox MB_OK|MB_ICONINFORMATION 'To assure that LyX can create PDF files the MiKTeX update program must be run two times.$\r$\n\ + # Please click in the MiKTeX update program only on the "Next" button.$\r$\n\ + # If "Next" is disabled, click on "Cancel" or "Finish".' + #${if} $MultiUser.Privileges != "Admin" + #${andif} $MultiUser.Privileges != "Power" + # # call the non-admin version + # nsExec::ExecToLog '"$PathLaTeX\internal\miktex-update.exe"' + #${else} + # ${if} $MiKTeXUser != "HKCU" # call the admin version + # nsExec::ExecToLog '"$PathLaTeX\internal\miktex-update_admin.exe"' + # ${else} + # nsExec::ExecToLog '"$PathLaTeX\internal\miktex-update.exe"' + # ${endif} + #${endif} + # silent update: + MessageBox MB_OK|MB_ICONINFORMATION "MiKTeX must be updated to assure that LyX can create PDF files.$\r$\n\ + This update can take several minutes, depending on your Internet speed.$\r$\n\ + Please do not close the LyX installer until it is finished!" /SD IDOK ${if} $MultiUser.Privileges != "Admin" ${andif} $MultiUser.Privileges != "Power" # call the non-admin version - ExecWait '"$PathLaTeX\internal\miktex-update.exe"' + # the order of the different commands is important! + ${if} $Is64bit == "true" + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--update=miktex-bin-x64-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--install=miktex-console-bin-x64-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--uninstall=miktex-mpm-bin-x64-2.9"' + ${else} + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--update=miktex-bin-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--install=miktex-console-bin-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--uninstall=miktex-mpm-bin-2.9"' + ${endif} + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--update"' + ${else} + ${if} $MiKTeXUser != "HKCU" # call the admin version + # the order of the different commands is important! + ${if} $Is64bit == "true" + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--update=miktex-bin-x64-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--install=miktex-console-bin-x64-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--uninstall=miktex-mpm-bin-x64-2.9"' + ${else} + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--update=miktex-bin-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--install=miktex-console-bin-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--uninstall=miktex-mpm-bin-2.9"' + ${endif} + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--update"' + ${else} + ${if} $Is64bit == "true" + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--update=miktex-bin-x64-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--install=miktex-console-bin-x64-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--uninstall=miktex-mpm-bin-x64-2.9"' + ${else} + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--update=miktex-bin-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--install=miktex-console-bin-2.9"' + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--uninstall=miktex-mpm-bin-2.9"' + ${endif} + nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--update"' + ${endif} + ${endif} + # restore possibly broken internal MiKTeX links after the update + # suggested by the MikTeX maintainer: https://github.com/MiKTeX/miktex/issues/82 + ${if} $MultiUser.Privileges != "Admin" + ${andif} $MultiUser.Privileges != "Power" + # call the non-admin version + nsExec::ExecToLog '"$PathLaTeX\initexmf.exe" "--mklinks" "--force"' ${else} ${if} $MiKTeXUser != "HKCU" # call the admin version - ExecWait '"$PathLaTeX\internal\miktex-update_admin.exe"' + nsExec::ExecToLog '"$PathLaTeX\initexmf.exe" "--admin" "--mklinks" "--force"' ${else} - ExecWait '"$PathLaTeX\internal\miktex-update.exe"' + nsExec::ExecToLog '"$PathLaTeX\initexmf.exe" "--mklinks" "--force"' ${endif} ${endif} - UpdateLater: + #UpdateLater: FunctionEnd - diff --git a/development/Win32/packaging/installer/include/filelist.nsh b/development/Win32/packaging/installer/include/filelist.nsh index 3ac112f..758f410 100644 --- a/development/Win32/packaging/installer/include/filelist.nsh +++ b/development/Win32/packaging/installer/include/filelist.nsh @@ -1,4 +1,4 @@ -/* +/* filelist.nsh @@ -22,7 +22,6 @@ Lists of files to include in the installer ${FILE}Qt5Svg.dll" ${FILE}Qt5Widgets.dll" ${FILE}Qt5WinExtras.dll" - ${FILE}Qt5Xml.dll" !macroend