# checks if MiKTeX or TeXLive is installed
${if} ${RunningX64}
- SetRegView 64
+ SetRegView 64 # the PATH is in the 64bit registry section
${endif}
# test if MiKTeX is installed
# reads the PATH variable via the registry because NSIS' "$%Path%" variable is not updated when the PATH changes
StrCpy $Search "miktex"
Call LaTeXCheck # sets the path to the latex.exe to $PathLaTeX # Function from LyXUtils.nsh
+ # check for 32bit MiKTeX
${if} $PathLaTeX != ""
+ ${if} ${RunningX64}
+ SetRegView 32
+ ${endif}
# check if MiKTeX 2.8 or newer is installed
StrCpy $0 0
- loopA:
+ loop32:
EnumRegKey $1 HKLM "SOFTWARE\MiKTeX.org\MiKTeX" $0 # check the last subkey
- StrCmp $1 "" doneA
+ StrCmp $1 "" done32
StrCpy $String $1
IntOp $0 $0 + 1
- Goto loopA
- doneA:
+ Goto loop32
+ done32:
+ ${if} $String == "2.8"
+ StrCpy $MiKTeXVersion "2.8"
+ StrCpy $LaTeXName "MiKTeX 2.8"
+ ${endif}
+ ${if} $String == "2.9"
+ StrCpy $MiKTeXVersion "2.9"
+ StrCpy $LaTeXName "MiKTeX 2.9"
+ ${endif}
+ ${endif}
+
+ # check for 64bit MiKTeX
+ ${if} $PathLaTeX == ""
+ ${if} ${RunningX64}
+ SetRegView 64
+ ${endif}
+ # check if MiKTeX 2.8 or newer is installed
+ StrCpy $0 0
+ loop64:
+ EnumRegKey $1 HKLM "SOFTWARE\MiKTeX.org\MiKTeX" $0 # check the last subkey
+ StrCmp $1 "" done64
+ StrCpy $String $1
+ IntOp $0 $0 + 1
+ Goto loop64
+ done64:
${if} $String == "2.8"
StrCpy $MiKTeXVersion "2.8"
StrCpy $LaTeXName "MiKTeX 2.8"
${if} $PathLaTeX != ""
StrCpy $MiKTeXUser "HKLM" # needed later to configure MiKTeX
${else} # check if MiKTeX is installed only for the current user
+ ${if} ${RunningX64}
+ SetRegView 64 # the PATH is in the 64bit registry section
+ ${endif}
ReadRegStr $String HKCU "Environment" "Path"
StrCpy $Search "miktex"
Call LaTeXCheck # function from LyXUtils.nsh
# test if TeXLive is installed
# TeXLive can be installed so that it appears in the PATH variable and/or only as current user.
# The safest method is to first check for the PATH because this is independent of the TeXLive version.
+ ${if} ${RunningX64}
+ SetRegView 64 # the PATH is in the 64bit registry section
+ ${endif}
${if} $PathLaTeX == ""
ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
StrCpy $Search "TeXLive"
Call LaTeXCheck # function from LyXUtils.nsh
${endif}
# check if it was installed to the system
+ ${if} ${RunningX64}
+ SetRegView 32 # TeXLive is a 32bit application
+ ${endif}
${if} $PathLaTeX == ""
ReadRegStr $String HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TeXLive2012" "UninstallString"
${if} $String == ""
ExecWait ${MiKTeXInstall}
# test if MiKTeX is installed
Call LaTeXActions
+ ${if} ${RunningX64}
+ SetRegView 32 # we install the 32bit version of MiKTeX
+ ${endif}
${if} $PathLaTeX != ""
# special entry that it was installed together with LyX
# so that we can later uninstall it together with LyX
# only install a Perl interpreter if it is not already installed
# this is only possible if MikTeX _and_ LyX is installed with the same privileges
+ ${if} ${RunningX64}
+ SetRegView 32 # FIXME: recheck this if the 64bit version of MiKTeX is out of beta state
+ ${endif}
ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\MiKTeX $MiKTeXVersion" "DisplayVersion"
${if} $MultiUser.Privileges != "Admin"
${andif} $MultiUser.Privileges != "Power"
${endif} # end if $PathLaTeX != ""
- # enable package installation without asking (1 = Yes, 0 = No, 2 = Ask me first)
+ # enable package installation without asking (1 = Yes, 0 = No, 2 = Ask me first) and
+ # if there is not package repository (MiKTeX's primary package repository) then set it
+ # FIXME: support 64bit MiKTeX if it is out of beta state
${if} $MiKTeXUser == "HKCU" # if only for current user
WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1"
+ ReadRegStr $1 HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository"
+ ${if} $1 == ""
+ WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}"
+ WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote"
+ ${endif}
${else}
WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1"
+ ReadRegStr $1 HKLM "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository"
+ ${if} $1 == ""
+ WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}"
+ WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote"
+ ${endif}
# we need to state that missing packages should be installed for all users too
WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoAdmin" "t"
${endif}
- # set package repository (MiKTeX's primary package repository)
- ${if} $MiKTeXUser == "HKCU" # if only for current user
- WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}"
- WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote"
- ${else}
- WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}"
- WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote"
- ${endif}
# update MiKTeX's package file list
ExecWait '$PathLaTeX\mpm.exe --update-fndb'
- # the following feature is planned to be used for a possible Live version
- # copy LaTeX-packages needed by LyX
- # SetOutPath "$INSTDIR"
- # File /r "${LaTeXPackagesDir}"
FunctionEnd
!define APP_VERSION_REVISION 5
!define APP_VERSION_EMERGENCY "1" # use "1" for an emergency release of LyX otherwise ""
!define APP_EMERGENCY_DOT "." # use "." for an emergency release of LyX otherwise ""
-!define APP_VERSION_BUILD 2 # Start with 1 for the installer releases of each version
+!define APP_VERSION_BUILD 3 # Start with 1 for the installer releases of each version
!define APP_VERSION "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_REVISION}${APP_EMERGENCY_DOT}${APP_VERSION_EMERGENCY}" # Version to display
!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 JabRefVersion "2.9.2"
!define MiKTeXDeliveredVersion "2.9"
!define ImageMagickVersion "6.8.0"
# definitions for the Complete installer
!if ${SETUPTYPE} == BUNDLE
- !define JabRefInstall "external\JabRef-2.8.1-setup.exe"
- !define SIZE_JABREF 12400
+ !define JabRefInstall "external\JabRef-2.9.2-setup.exe"
+ !define SIZE_JABREF 14100
!define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.9.4521.exe"
- #!define SIZE_DOWNLOAD_LATEX 157100
- #!define SIZE_LATEX 600000
!endif