mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Win installer: prepare for beta 1
- also add support to detect JabRef 3.x - also add support to detect Pandoc - some minor improvements
This commit is contained in:
parent
97dfacfffa
commit
77bb8b91a3
@ -1,5 +1,7 @@
|
||||
Changelog for LyX.220-beta-1-1:
|
||||
- installs lyX 2.2.0 beta1
|
||||
- support for the document converter program Pandoc, see http://wiki.lyx.org/LyX/NewInLyX22#converters
|
||||
- support for JabRef 3.x
|
||||
- updated thesaurus for Slovenian
|
||||
- updated spell-checker dictionaries for Portuguese (PT) and English (GB and US)
|
||||
- new Brazilian translation of the installer messages
|
||||
|
@ -1,3 +1,4 @@
|
||||
unicode-data
|
||||
l3experimental
|
||||
l3kernel
|
||||
l3packages
|
||||
@ -56,17 +57,18 @@ babel-turkish
|
||||
babel-ukrainian
|
||||
babel-vietnamese
|
||||
babel-welsh
|
||||
beamerposter
|
||||
bibtopic
|
||||
booktabs
|
||||
braille
|
||||
breakurl
|
||||
cancel
|
||||
caption
|
||||
chemgreek
|
||||
chicago
|
||||
cjk
|
||||
covington
|
||||
csquotes
|
||||
cyrillic
|
||||
datetime
|
||||
endnotes
|
||||
enumitem
|
||||
environ
|
||||
@ -75,8 +77,10 @@ eso-pic
|
||||
fancybox
|
||||
fancyhdr
|
||||
filehook
|
||||
fmtcount
|
||||
footmisc
|
||||
forest
|
||||
framed
|
||||
frankenstein
|
||||
greek-inputenc
|
||||
harvard
|
||||
hyphenat
|
||||
@ -86,16 +90,18 @@ lettrine
|
||||
listings
|
||||
lithuanian
|
||||
genmisc
|
||||
mathtools
|
||||
mhchem
|
||||
chemgreek
|
||||
mongolian-babel
|
||||
miktex-hyph-mongolian
|
||||
mslapa
|
||||
natbib
|
||||
units
|
||||
nomencl
|
||||
polyglossia
|
||||
paralist
|
||||
pdfcomment
|
||||
pdfpages
|
||||
pgf
|
||||
prettyref
|
||||
preview
|
||||
refstyle
|
||||
@ -105,9 +111,9 @@ sectionbox
|
||||
serbianc
|
||||
miktex-hyph-serbian
|
||||
setspace
|
||||
shapepar
|
||||
soul
|
||||
splitindex
|
||||
stmaryrd
|
||||
subfig
|
||||
tcolorbox
|
||||
thailatex
|
||||
@ -116,34 +122,30 @@ turkmen
|
||||
ulem
|
||||
undertilde
|
||||
unicode-math
|
||||
units
|
||||
url
|
||||
vntex
|
||||
wallpaper
|
||||
wrapfig
|
||||
xargs
|
||||
xcolor
|
||||
xetex-def
|
||||
arydshln
|
||||
binhex
|
||||
braket
|
||||
cancel
|
||||
caption
|
||||
colortbl
|
||||
diagbox
|
||||
etoolbox
|
||||
fp
|
||||
koma-script
|
||||
makecmds
|
||||
marginnote
|
||||
picinpar
|
||||
pict2e
|
||||
sidecap
|
||||
was
|
||||
charter
|
||||
garamondx
|
||||
mathpazo
|
||||
bera
|
||||
binhex
|
||||
ccfonts
|
||||
charter
|
||||
classico
|
||||
cmbright
|
||||
concmath
|
||||
@ -154,74 +156,85 @@ eulervm
|
||||
feyn
|
||||
fontaxes
|
||||
fourier
|
||||
garamondx
|
||||
iwona
|
||||
kurier
|
||||
lh
|
||||
libertine
|
||||
lm-math
|
||||
luxi
|
||||
mathdesign
|
||||
mathpazo
|
||||
minion2newtx
|
||||
mslapa
|
||||
newtx
|
||||
stmaryrd
|
||||
symbol
|
||||
tex-gyre
|
||||
tfrupee
|
||||
tipa
|
||||
txfonts
|
||||
wasy
|
||||
zhmetrics
|
||||
ascii
|
||||
bbding
|
||||
ifsym
|
||||
marvosym
|
||||
textgreek
|
||||
tfrupee
|
||||
txfonts
|
||||
wasy
|
||||
wasysym
|
||||
a0poster
|
||||
aastex
|
||||
achemso
|
||||
aguplus
|
||||
answers
|
||||
apa6
|
||||
apacite
|
||||
apa
|
||||
arabtex
|
||||
beamer
|
||||
beamerposter
|
||||
bigfoot
|
||||
changebar
|
||||
changepage
|
||||
cite
|
||||
cleveref
|
||||
comment
|
||||
ctex
|
||||
datetime
|
||||
dinbrief
|
||||
dtk
|
||||
ebgaramond
|
||||
elsarticle
|
||||
elsevier
|
||||
endfloat
|
||||
epsf
|
||||
europasscv
|
||||
europecv
|
||||
extsizes
|
||||
fancyvrb
|
||||
filecontents
|
||||
footmisc
|
||||
fixme
|
||||
fmtcount
|
||||
fontawesome
|
||||
frletter
|
||||
g-brief
|
||||
harvard
|
||||
ieeetran
|
||||
ifmtarg
|
||||
jsclasses
|
||||
kluwer
|
||||
koma-script
|
||||
lambda-lists
|
||||
lastpage
|
||||
latex2html
|
||||
lettre
|
||||
lineno
|
||||
mciteplus
|
||||
mdwtools
|
||||
memoir
|
||||
microtype
|
||||
moderncv
|
||||
ms
|
||||
mwcls
|
||||
paper
|
||||
paralist
|
||||
pgf
|
||||
placeins
|
||||
powerdot
|
||||
pst-grad
|
||||
@ -232,28 +245,20 @@ sauerj
|
||||
savesym
|
||||
sciposter
|
||||
seminar
|
||||
shapepar
|
||||
simplecv
|
||||
skak
|
||||
spie
|
||||
sttools
|
||||
tabu
|
||||
textcase
|
||||
titlesec
|
||||
todonotes
|
||||
totpages
|
||||
tufte-latex
|
||||
tugboat
|
||||
type1cm
|
||||
ucs
|
||||
upquote
|
||||
wallpaper
|
||||
xecjk
|
||||
xifthen
|
||||
acrotex
|
||||
answers
|
||||
chicago
|
||||
ctablestack
|
||||
frankenstein
|
||||
jsclasses
|
||||
lambda-lists
|
||||
mathdesign
|
||||
mathtools
|
||||
pdfcrop
|
||||
sansmathaccent
|
||||
xifthen
|
@ -208,7 +208,14 @@ FunctionEnd
|
||||
${if} $PathLaTeX == ""
|
||||
# launch MiKTeX's installer
|
||||
MessageBox MB_OK|MB_ICONINFORMATION "$(LatexInfo)" /SD IDOK
|
||||
ExecWait ${MiKTeXInstall}
|
||||
MessageBox MB_OK|MB_ICONINFORMATION "${MiKTeXInstall} --shared"
|
||||
${if} $MultiUser.Privileges != "Admin"
|
||||
${andif} $MultiUser.Privileges != "Power"
|
||||
# call the non-admin version
|
||||
ExecWait ${MiKTeXInstall}
|
||||
${else}
|
||||
ExecWait "${MiKTeXInstall} --shared"
|
||||
${endif}
|
||||
# test if MiKTeX is installed
|
||||
Call LaTeXActions
|
||||
${if} ${RunningX64}
|
||||
|
@ -7,6 +7,12 @@
|
||||
# RevStrPointer
|
||||
# RevStrPoint
|
||||
#
|
||||
# - PATHCheck (checks for a path in a semicolon separated path list like the PATH variable), uses:
|
||||
# StrPointer
|
||||
# StrPoint
|
||||
# RevStrPointer
|
||||
# RevStrPoint
|
||||
#
|
||||
# - un.DelAppPathSub and UnAppPreSuff,
|
||||
# (delete the folder ~\Documents and Settings\username\Application Data\LyX for all users), uses:
|
||||
# un.GetParentA
|
||||
@ -273,7 +279,7 @@ FunctionEnd
|
||||
Push $1
|
||||
StrCpy $0 ""
|
||||
StrCpy $1 ""
|
||||
FileOpen $0 "${Filepath}\${FileName}" r
|
||||
FileOpen $0 "${FilePath}\${FileName}" r
|
||||
${if} $0 = ""
|
||||
StrCpy $1 "False"
|
||||
${Else}
|
||||
@ -290,7 +296,7 @@ FunctionEnd
|
||||
|
||||
Function LaTeXCheck
|
||||
# searches the string "$Search" in the string "$String" and extracts the path around it
|
||||
# the extracted path is checked if the file "latex.exe" is in it
|
||||
# it is checked if the file "latex.exe" exists in the extracted path
|
||||
|
||||
StartCheck:
|
||||
StrLen $3 $String
|
||||
@ -330,3 +336,40 @@ Function LaTeXCheck
|
||||
|
||||
FunctionEnd
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
!macro PATHCheck PathResult FileName
|
||||
# searches the string "$Search" in the string "$String" and extracts the path around it
|
||||
# it is checked if the given filename exists
|
||||
|
||||
!define ID ${__LINE__}
|
||||
StrLen $3 $String
|
||||
Call StrPoint
|
||||
${if} $Pointer == "-1" # if nothing was found
|
||||
StrCpy ${PathResult} "False"
|
||||
Goto EndPATHCheck_${ID}
|
||||
${endif}
|
||||
IntOp $3 $3 - $Pointer
|
||||
StrCpy $4 $String $3 "-$3" # $4 is now the part behind the $Search string
|
||||
StrCpy $String $String $Pointer # $String is now the part before the $Search string
|
||||
StrCpy $Search ":" # search for the ":" after the first previous drive letter
|
||||
Call RevStrPoint
|
||||
IntOp $Pointer $Pointer - 1 # jump before the ":" to the drive letter
|
||||
StrCpy $Pointer $Pointer "" 1 # cut of the "-" sign
|
||||
StrCpy ${PathResult} $String $Pointer "-$Pointer"
|
||||
StrCpy $String $4
|
||||
StrCpy $Search ";" # search for the following ";" that separates the different paths
|
||||
Call StrPoint
|
||||
${if} $Pointer != "-1" # if something was found
|
||||
StrCpy $String $String $Pointer
|
||||
${endif}
|
||||
StrCpy ${PathResult} "${PathResult}$String"
|
||||
# check if the FileName exists in the ${Result} folder
|
||||
!insertmacro FileCheck $R5 ${FileName} ${PathResult}
|
||||
${if} $R5 == "False"
|
||||
StrCpy ${PathResult} "False"
|
||||
${endif}
|
||||
EndPATHCheck_${ID}:
|
||||
!undef ID
|
||||
|
||||
!macroend
|
||||
|
@ -141,12 +141,20 @@ Function MissingPrograms
|
||||
StrCpy $ImageEditorPath $0
|
||||
${endif}
|
||||
${endif}
|
||||
|
||||
|
||||
# test if and where the BibTeX-editor JabRef is installed
|
||||
ReadRegStr $PathBibTeXEditor HKCU "Software\JabRef" "Path"
|
||||
${if} $PathBibTeXEditor == ""
|
||||
ReadRegStr $PathBibTeXEditor HKLM "Software\JabRef" "Path"
|
||||
${endif}
|
||||
# since JabRef 3.x the pathes are different
|
||||
# there is currently a bug in the Jabref installer that prevents to install it without admin permissions
|
||||
# therefore only check the admin installation
|
||||
${if} $PathBibTeXEditor == ""
|
||||
ReadRegStr $PathBibTeXEditor HKCR "JabRef\shell\open\command" ""
|
||||
StrCpy $PathBibTeXEditor $PathBibTeXEditor -17 # remove '\JabRef.exe" "%1"'
|
||||
StrCpy $PathBibTeXEditor $PathBibTeXEditor "" 1 # remove the leading quote
|
||||
${endif}
|
||||
|
||||
${ifnot} ${FileExists} "$PathBibTeXEditor\${BIN_BIBTEXEDITOR}"
|
||||
StrCpy $PathBibTeXEditor ""
|
||||
@ -154,13 +162,13 @@ Function MissingPrograms
|
||||
${else}
|
||||
StrCpy $JabRefInstalled == "Yes"
|
||||
${endif}
|
||||
|
||||
|
||||
# test if and where LilyPond is installed
|
||||
ReadRegStr $LilyPondPath HKLM "Software\LilyPond" "Install_Dir"
|
||||
${if} $LilyPondPath != ""
|
||||
StrCpy $LilyPondPath "$LilyPondPath\usr\bin" # add "\usr\bin"
|
||||
${endif}
|
||||
|
||||
|
||||
# test if Inkscape is installed
|
||||
ReadRegStr $SVGPath HKLM "SOFTWARE\Classes\inkscape.svg\DefaultIcon" ""
|
||||
${if} $SVGPath != ""
|
||||
@ -180,6 +188,26 @@ Function MissingPrograms
|
||||
StrCpy $GnumericPath $0
|
||||
${endif}
|
||||
|
||||
# test if Pandoc is installed
|
||||
# HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\John MacFarlane\Pandoc
|
||||
${if} ${RunningX64}
|
||||
SetRegView 64 # the PATH is in the 64bit registry section
|
||||
${endif}
|
||||
# check for the path to the pandoc.exe in Window's PATH variable
|
||||
StrCpy $5 ""
|
||||
StrCpy $Search "pandoc"
|
||||
ReadRegStr $String HKCU "Environment" "PATH"
|
||||
!insertmacro PATHCheck $5 "pandoc.exe" # macro from LyXUtils.nsh
|
||||
# if it is not in the user-specific PATH it might be in the global PATH
|
||||
${if} $5 == "False"
|
||||
ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
|
||||
!insertmacro PATHCheck $5 "pandoc.exe" # macro from LyXUtils.nsh
|
||||
${endif}
|
||||
SetRegView 32
|
||||
${if} $5 != "False"
|
||||
StrCpy $PandocPath $5
|
||||
${endif}
|
||||
|
||||
FunctionEnd
|
||||
|
||||
# ---------------------------------------
|
||||
|
@ -48,12 +48,15 @@ Section "!${APP_NAME}" SecCore
|
||||
SectionIn RO
|
||||
SectionEnd
|
||||
|
||||
# FIXME: set this to true when LyX 2.2.0 final is released
|
||||
Section "$(SecFileAssocTitle)" SecFileAssoc
|
||||
StrCpy $CreateFileAssociations "true"
|
||||
SectionIn RO
|
||||
StrCpy $CreateFileAssociations "false"
|
||||
SectionEnd
|
||||
|
||||
Section "$(SecDesktopTitle)" SecDesktop
|
||||
StrCpy $CreateDesktopIcon "true"
|
||||
SectionIn RO
|
||||
StrCpy $CreateDesktopIcon "false"
|
||||
SectionEnd
|
||||
|
||||
!if ${SETUPTYPE} == BUNDLE
|
||||
@ -597,11 +600,13 @@ SectionGroupEnd
|
||||
# the selection states of the dictionary sections
|
||||
Function .onInit
|
||||
|
||||
${IfNot} ${IsNT}
|
||||
${OrIfNot} ${AtLeastWinXP}
|
||||
MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} ${APP_VERSION} requires Windows XP or later." /SD IDOK
|
||||
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
||||
${if} $R0 == "5.0" # 2000
|
||||
${orif} $R0 == "5.1" # XP
|
||||
${orif} $R0 == "5.2" # 2003
|
||||
MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} ${APP_VERSION} requires Windows Vista or newer." /SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
${endif}
|
||||
|
||||
# check that the installer is not currently running
|
||||
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${BundleExeFile}.Instance") i .r1 ?e'
|
||||
@ -626,6 +631,11 @@ Function .onInit
|
||||
# Abort
|
||||
#${endif}
|
||||
|
||||
# read the use and computer name
|
||||
ReadRegStr $ComputerName HKLM "System\CurrentControlSet\Control\ComputerName\ActiveComputerName" "ComputerName"
|
||||
System::Call "advapi32::GetUserName(t .r0, *i ${NSIS_MAX_STRLEN} r1) i.r2"
|
||||
StrCpy $UserName $0
|
||||
|
||||
!insertmacro MULTIUSER_INIT
|
||||
|
||||
# check if this LyX version is already installed
|
||||
|
@ -14,6 +14,7 @@ Var APPDATemp
|
||||
Var AppPre
|
||||
var AppSubfolder
|
||||
Var AppSuff
|
||||
Var ComputerName
|
||||
Var CreateDesktopIcon
|
||||
Var CreateFileAssociations
|
||||
Var DictCode
|
||||
@ -36,6 +37,7 @@ Var LilyPondPath
|
||||
Var MiKTeXUser
|
||||
Var MiKTeXVersion
|
||||
Var OldVersionNumber
|
||||
Var PandocPath
|
||||
Var Pointer
|
||||
Var PSVPath
|
||||
Var PythonPath
|
||||
@ -50,6 +52,7 @@ Var ThesCode
|
||||
Var ThesCodes
|
||||
Var UpdateFNDBReturn
|
||||
Var UserList
|
||||
Var UserName
|
||||
|
||||
Var LangName
|
||||
|
||||
|
@ -10,11 +10,11 @@ These typically need to be modified for each LyX release
|
||||
# Version number
|
||||
|
||||
!define APP_VERSION_MAJOR 2
|
||||
!define APP_VERSION_MINOR 1
|
||||
!define APP_VERSION_REVISION 4
|
||||
!define APP_VERSION_EMERGENCY "" # 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 4 # Start with 1 for the installer releases of each version
|
||||
!define APP_VERSION_MINOR 2
|
||||
!define APP_VERSION_REVISION 0
|
||||
!define APP_VERSION_EMERGENCY "beta-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 1 # 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
|
||||
|
||||
@ -37,28 +37,28 @@ These typically need to be modified for each LyX release
|
||||
# File locations
|
||||
# !!! you need to adjust them to the folders in your Windows system !!!
|
||||
|
||||
!define FILES_LYX "D:\LyXPackage2.1\LyX"
|
||||
!define FILES_LYX "D:\LyXPackage2.2\LyX"
|
||||
!define FILES_DEPS "D:\LyXGit\Master\lyx-windows-deps-msvc2010"
|
||||
!define FILES_QT "C:\Qt\4.8.7"
|
||||
!define FILES_QT "C:\Qt\Qt5-5-1-2010\5.5\msvc2010"
|
||||
!define ClassFileDir "${FILES_LYX}\Resources\tex"
|
||||
!define DVIPostFileDir "${FILES_DEPS}\tex"
|
||||
|
||||
#--------------------------------
|
||||
# MiKTeX
|
||||
# MiKTeX and JabRef
|
||||
# Sizes in KB
|
||||
|
||||
# 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.10"
|
||||
!define JabRefVersion "2.11.1"
|
||||
!define MiKTeXDeliveredVersion "2.9"
|
||||
!define ImageMagickVersion "6.9.2"
|
||||
!define ImageMagickVersion "6.9.3"
|
||||
|
||||
# definitions for the Complete installer
|
||||
!if ${SETUPTYPE} == BUNDLE
|
||||
!define JabRefInstall "external\JabRef-2.10-setup.exe"
|
||||
!define SIZE_JABREF 14100
|
||||
!define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.9.5721.exe"
|
||||
!define JabRefInstall "external\JabRef-2.11.1-setup.exe"
|
||||
!define SIZE_JABREF 18514
|
||||
!define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.9.5872.exe"
|
||||
!endif
|
||||
|
||||
|
@ -145,6 +145,9 @@ Section -Configure
|
||||
${if} $PathBibTeXEditor != ""
|
||||
StrCpy $PathPrefix "$PathPrefix;$PathBibTeXEditor"
|
||||
${EndIf}
|
||||
${if} $PandocPath != ""
|
||||
StrCpy $PathPrefix "$PathPrefix;$PandocPath"
|
||||
${endif}
|
||||
${if} $LilyPondPath != ""
|
||||
StrCpy $PathPrefix "$PathPrefix;$LilyPondPath"
|
||||
${endif}
|
||||
@ -167,7 +170,13 @@ Section -Configure
|
||||
\format "pdf3" "pdf" "PDF (dvipdfm)" "m" "pdfview" "" "document,vector,menu=export" "application/pdf"$\r$\n\
|
||||
\format "pdf2" "pdf" "PDF (pdflatex)" "F" "pdfview" "" "document,vector,menu=export" "application/pdf"$\r$\n\
|
||||
\format "pdf" "pdf" "PDF (ps2pdf)" "P" "pdfview" "" "document,vector,menu=export" "application/pdf"$\r$\n'
|
||||
|
||||
|
||||
# use Inkscape to edit PDF and EPS images
|
||||
${if} $SVGPath != ""
|
||||
FileWrite $R1 '\format "pdf6" "pdf" "PDF (graphics)" "" "auto" "inkscape" "vector" "application/pdf"$\r$\n\
|
||||
\format "eps" "eps" "EPS" "" "auto" "inkscape" "vector" "image/x-eps"$\r$\n'
|
||||
${endif}
|
||||
|
||||
# if Inkscape is not available Imagemagick will be used to convert WMF/EMF files
|
||||
# We need to specify a resolution for the converter otherwise 1024 dpi are used and
|
||||
# eps2pdf takes ages. 300 dpi are a good compromise for speed and size.
|
||||
|
@ -132,8 +132,9 @@ Section -ProgramFiles SecProgramFiles
|
||||
|
||||
!if ${SETUPTYPE} == BUNDLE
|
||||
|
||||
# install JabRef if not already installed and the user selected it
|
||||
# if no BibTeX editor is installed
|
||||
# install JabRef if not already installed, the user selected it
|
||||
# and if no BibTeX editor is installed
|
||||
# due to an installer bug in the installer of JabRef version 3.x, we still install JabRef 2.11.1
|
||||
${if} $PathBibTeXEditor == ""
|
||||
${andif} $InstallJabRef == "true"
|
||||
# launch installer
|
||||
@ -162,7 +163,7 @@ Section -ProgramFiles SecProgramFiles
|
||||
${else}
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" "Yes${APP_SERIES_KEY}"
|
||||
${endif}
|
||||
${endif}
|
||||
${endif}
|
||||
${endif} # end if PathBibTeXEditor
|
||||
!endif # end if BUNDLE
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user