From 32cf81058d2e6bde6148dcc665df02a49382ea79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20St=C3=B6hr?= Date: Sat, 2 Jun 2012 20:40:13 +0200 Subject: [PATCH] installer: install a Perl interpreter to MiKTeX to fix bug #8181 --- .../packaging/installer/include/LaTeX.nsh | 28 ++++++++++++------- .../installer/include/declarations.nsh | 1 + 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/development/Win32/packaging/installer/include/LaTeX.nsh b/development/Win32/packaging/installer/include/LaTeX.nsh index 66b9a8f85f..5ab3d3d719 100644 --- a/development/Win32/packaging/installer/include/LaTeX.nsh +++ b/development/Win32/packaging/installer/include/LaTeX.nsh @@ -143,10 +143,11 @@ FunctionEnd # ------------------------------ Function ConfigureMiKTeX - # installs the LaTeX class files that are delivered with LyX + # installs the LaTeX class files that are delivered with LyX, + # a Perl interpreter for splitindex # and enable MiKTeX's automatic package installation - # install LyX's LaTeX class and style files + # install LyX's LaTeX class and style files and a Perl interpreter ${if} $PathLaTeX != "" ${if} $MultiUser.Privileges != "Admin" ${orif} $MultiUser.Privileges != "Power" @@ -163,15 +164,22 @@ Function ConfigureMiKTeX # LyX files in Resources\tex SetOutPath "$PathLaTeXLocal\tex\latex\lyx" CopyFiles /SILENT "$INSTDIR\Resources\tex\*.*" "$PathLaTeXLocal\tex\latex\lyx" - - # refresh MiKTeX's file name database - ${if} $MiKTeXUser != "HKCU" # call the admin version when the user is admin - nsExec::ExecToLog '"$PathLaTeX\initexmf --admin --update-fndb"' - ${else} - nsExec::ExecToLog '"$PathLaTeX\initexmf --update-fndb"' - ${endif} - Pop $UpdateFNDBReturn # Return value ${endif} + + # only install a Perl interpreter if it is not already installed + ${ifnot} ${FileExists} "$PathLaTeXLocal\miktex\bin\perl.exe" + SetOutPath "$PathLaTeXLocal" + File /r ${FILES_MIKTEX} + ${endif} + + # refresh MiKTeX's file name database (do this always to assure everything is in place) + ${if} $MiKTeXUser != "HKCU" # call the admin version when the user is admin + nsExec::ExecToLog '"$PathLaTeX\initexmf --admin --update-fndb"' + ${else} + nsExec::ExecToLog '"$PathLaTeX\initexmf --update-fndb"' + ${endif} + Pop $UpdateFNDBReturn # Return value + ${endif} # enable package installation without asking (1 = Yes, 0 = No, 2 = Ask me first) diff --git a/development/Win32/packaging/installer/include/declarations.nsh b/development/Win32/packaging/installer/include/declarations.nsh index b2e23b2587..0735617839 100644 --- a/development/Win32/packaging/installer/include/declarations.nsh +++ b/development/Win32/packaging/installer/include/declarations.nsh @@ -18,6 +18,7 @@ Configuration of LyX installer !define FILES_UNOCONV "${FILES_DEPS}\bin" !define FILES_IMAGEMAGICK "${FILES_DEPS}\imagemagick" !define FILES_GHOSTSCRIPT "${FILES_DEPS}\ghostscript" +!define FILES_MIKTEX "${FILES_DEPS}\miktex" !define FILES_NETPBM "${FILES_DEPS}\bin" !define FILES_DTL "${FILES_DEPS}\bin" !define FILES_DVIPOST "${FILES_DEPS}\bin"