Remove registry hacking for imagemagick (using portable now).
-Changelog for LyX-230:
+Changelog for LyX-23x:
+- introduced windows 64 bit installer
+- updated to ImageMagick 7.0.10-0 (portable)
+- updated to Ghostscript 9.50
+- updated to Python 2.7.17
+- updated to DTL 0.6.1
+- updated to Netpbm 10.27
+- updated to rsvg-convert 2.40.20
+- updated to unoconv 0.8.2
+- Perl folder is no longer added to PATH if TexLive installation was detected
+
+Changelog for LyX-230:
- installs LyX 2.3.0
- fix installation of Arabic spell checker
- updated to MiKTeX 2.9 build 6615
!ifndef Un${StrFuncName}_INCLUDED
${Un${StrFuncName}}
!endif
- !define un.${StrFuncName} "${Un${StrFuncName}}"
+ !define un.${StrFuncName} '${Un${StrFuncName}}'
!macroend
!insertmacro _IncludeStrFunction StrTok
${endif}
# install a Perl interpreter for splitindex and pdfcrop
- SetOutPath "$INSTDIR"
+ SetOutPath "$INSTDIR\Perl"
# recursively copy all files under Perl
- File /r "${FILES_PERL}"
+ File /r "${FILES_PERL}\"
${endif} # end if $PathLaTeX != ""
FunctionEnd
#--------------------------------
# File locations
-!define FILES_LICENSE "${FILES_GIT}\license.rtf"
+!define FILES_LICENSE "${FILES_GIT}\installer\license.rtf"
!define FILES_ICONS "${FILES_GIT}\icons"
!define FILES_PDFVIEW "${FILES_DEPS}\bin"
!define FILES_MSVC "${FILES_DEPS}\bin"
Function SearchExternal
Call LaTeXActions # function from LaTeX.nsh
Call MissingPrograms
+ SetRegView ${APP_VERSION_ACHITECHTURE}
Call FindDictionaries # function from dictionaries.nsh
FunctionEnd
!macro FileListMSVC COMMAND DIRECTORY
- # Files needed for MSVC 2015
+ # Files needed for MSVC 2019
# Seem to be installed for dependencies
${FILE}concrt140.dll"
${FILE}msvcp140.dll"
${FILE}vccorlib140.dll"
${FILE}vcomp140.dll"
${FILE}vcruntime140.dll"
+ !if ${APP_VERSION_ACHITECHTURE} = 64
+ ${File}vcruntime140_1.dll"
+ !endif
!macroend
# the selection states of the dictionary sections
Function .onInit
+ !if ${APP_VERSION_ACHITECHTURE} = 64
+ ${IfNot} ${RunningX64}
+ MessageBox MB_OK|MB_ICONSTOP "Cannot install a 64 bit app on 32 bit Windows, please use the 32 bit installer" /SD IDOK
+ Abort
+ ${EndIf}
+ !EndIf
+
+ SetRegView ${APP_VERSION_ACHITECHTURE}
+
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
${if} $R0 == "5.0" # 2000
${orif} $R0 == "5.1" # XP
# this function is called at first after starting the uninstaller
Function un.onInit
+ SetRegView ${APP_VERSION_ACHITECHTURE}
+
!insertmacro MULTIUSER_UNINIT
# Check that LyX is not currently running
!define MULTIUSER_INSTALLMODE_FUNCTION InitUser
!define MULTIUSER_MUI
+!if ${APP_VERSION_ACHITECHTURE} = 64
+ !define MULTIUSER_USE_PROGRAMFILES64
+!endif
#--------------------------------
# Standard header files
# Version number
!define APP_VERSION_MAJOR 2
-!define APP_VERSION_MINOR 3
-!define APP_VERSION_REVISION 2
-!define APP_VERSION_EMERGENCY "" # use "1" for an emergency release of LyX otherwise ""
+!define APP_VERSION_MINOR 4
+!define APP_VERSION_REVISION 0
+!define APP_VERSION_EMERGENCY "dev" # 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 1 # Start with 1 for the installer releases of each version
+# 32 or 64 bit, use build folder names and dependencies folder names containing "32" or "64" to use following constant in File locations declarations below
+!define APP_VERSION_ACHITECHTURE 32
+
!define APP_VERSION "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_REVISION}${APP_EMERGENCY_DOT}${APP_VERSION_EMERGENCY}" # Version to display
-!define COPYRIGHT_YEAR 2019
+!define COPYRIGHT_YEAR 2020
#--------------------------------
# Installer file name
# Typical names for the release are "LyX-232-Installer-1.exe" etc.
!ifndef ExeFile
- !define ExeFile "${APP_NAME}-${APP_VERSION_MAJOR}${APP_VERSION_MINOR}${APP_VERSION_REVISION}${APP_VERSION_EMERGENCY}-Installer-${APP_VERSION_BUILD}.exe"
+ !define ExeFile "${APP_NAME}-${APP_VERSION_MAJOR}${APP_VERSION_MINOR}${APP_VERSION_REVISION}${APP_VERSION_EMERGENCY}-Installer-${APP_VERSION_BUILD}-\
+ x${APP_VERSION_ACHITECHTURE}.exe"
!endif
#--------------------------------
# File locations
# !!! you need to adjust them to the folders in your Windows system !!!
-!define FILES_BASE "C:\Users\rikih\LyX"
-!define FILES_GIT "${FILES_BASE}\git\development\Win32\packaging\installer"
-!define FILES_LYX "${FILES_BASE}\LyX23"
-!define FILES_DEPS "${FILES_BASE}\Dependencies"
-!define FILES_QT "${FILES_BASE}\LyX23"
+!define FILES_BASE "C:\lyx"
+!define FILES_GIT "${FILES_BASE}\master\development\Win32\packaging"
+!define FILES_LYX "${FILES_BASE}\masterbuild${APP_VERSION_ACHITECHTURE}\LYX_INSTALLED"
+!define FILES_DEPS "${FILES_BASE}\lyx-windows-deps-msvc2019_${APP_VERSION_ACHITECHTURE}"
+!define FILES_QT "${FILES_BASE}\masterbuild${APP_VERSION_ACHITECHTURE}\LYX_INSTALLED"
!define ClassFileDir "${FILES_LYX}\Resources\tex"
#--------------------------------
!define MiKTeXRepo "ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/"
-!define ImageMagickVersion "7.0.7"
+!define ImageMagickVersion "7.0.10"
ClearErrors
# for texindy the path to the perl.exe must unfortunately be in Windows' PATH variable
- ${if} $MultiUser.Privileges != "Admin"
- ${andif} $MultiUser.Privileges != "Power"
- # call the non-admin version
- ${EnvVarUpdate} $0 "PATH" "A" "HKCU" "$INSTDIR\Perl\bin"
- ${else}
- ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\Perl\bin"
+ ${if} $LaTeXInstalled != "TeXLive"
+ ${if} $MultiUser.Privileges != "Admin"
+ ${andif} $MultiUser.Privileges != "Power"
+ # call the non-admin version
+ ${EnvVarUpdate} $0 "PATH" "A" "HKCU" "$INSTDIR\Perl\bin"
+ ${else}
+ ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\Perl\bin"
+ ${endif}
${endif}
SectionEnd
Delete "$INSTDIR\bin\LyX2.3.exe"
Delete "$INSTDIR\bin\tex2lyx2.3.exe"
!insertmacro FileListQtBin File "${FILES_QT}\bin\"
- !insertmacro FileListMinGW File "${FILES_LYX}\bin\"
+ !insertmacro FileListMSVC File "${FILES_LYX}\bin\"
!insertmacro FileListNetpbmBin File "${FILES_NETPBM}\"
!insertmacro FileListDTLBin File "${FILES_DTL}\"
!insertmacro FileListRsvg File "${FILES_RSVG}\"
!insertmacro FileListQtStyles File "${FILES_QT}\bin\styles\"
# Resources
- SetOutPath "$INSTDIR"
+ SetOutPath "$INSTDIR\Resources"
# recursively copy all files under Resources
- File /r "${FILES_LYX}\Resources"
- File /r "${FILES_DEPS}\Resources"
+ File /r "${FILES_LYX}\Resources\"
+ File /r "${FILES_DEPS}\Resources\"
# Python
- SetOutPath "$INSTDIR"
+ SetOutPath "$INSTDIR\Python"
# recursively copy all files under Python
- File /r "${FILES_PYTHON}"
+ File /r "${FILES_PYTHON}\"
#FIXME We probably should not do this, as dicussed on the list.
# register .py files if necessary
ReadRegStr $0 SHCTX "Software\Classes\Python.File\shell\open\command" ""
# Components of ImageMagick
SetOutPath "$INSTDIR\imagemagick"
File /r "${FILES_IMAGEMAGICK}\"
- !insertmacro FileListMSVC File "${FILES_MSVC}\"
- # register ImageMagick
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\${ImageMagickVersion}\Q:16" "BinPath" "$INSTDIR\imagemagick"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\${ImageMagickVersion}\Q:16" "CoderModulesPath" "$INSTDIR\imagemagick\modules\coders"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\${ImageMagickVersion}\Q:16" "ConfigurePath" "$INSTDIR\imagemagick"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\${ImageMagickVersion}\Q:16" "FilterModulesPath" "$INSTDIR\imagemagick\modules\filters"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\${ImageMagickVersion}\Q:16" "LibPath" "$INSTDIR\imagemagick"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\Current" "BinPath" "$INSTDIR\imagemagick"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\Current" "CoderModulesPath" "$INSTDIR\imagemagick\modules\coders"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\Current" "ConfigurePath" "$INSTDIR\imagemagick"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\Current" "FilterModulesPath" "$INSTDIR\imagemagick\modules\filters"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\Current" "LibPath" "$INSTDIR\imagemagick"
- WriteRegDWORD SHCTX "SOFTWARE\ImageMagick\Current" "QuantumDepth" 0x00000010
- WriteRegStr SHCTX "SOFTWARE\ImageMagick\Current" "Version" "${ImageMagickVersion}"
- WriteRegStr SHCTX "SOFTWARE\ImageMagick" "OnlyWithLyX" "Yes${APP_SERIES_KEY}"
# Components of Ghostscript
${if} $GhostscriptPath == ""
SetOutPath "$INSTDIR\ghostscript"
File /r "${FILES_GHOSTSCRIPT}\"
- !insertmacro FileListMSVC File "${FILES_MSVC}\"
StrCpy $GhostscriptPath "$INSTDIR\ghostscript\bin"
${endif}
# ImageMagick
RMDir /r "$INSTDIR\imagemagick"
- ReadRegStr $0 SHCTX "SOFTWARE\ImageMagick" "OnlyWithLyX" # test if it was installed together with this LyX version
- ${if} $0 == "Yes${APP_SERIES_KEY}"
- WriteRegStr SHCTX "SOFTWARE\Classes\Applications" "AutoRun" ""
- DeleteRegKey SHCTX "Software\ImageMagick"
- ${endif}
# Components of Ghostscript
RMDir /r "$INSTDIR\ghostscript"