Windows installer: backport recent changes from master

This commit is contained in:
Uwe Stöhr 2015-01-09 02:55:00 +01:00
parent 076e62dd5f
commit df0b34017e
7 changed files with 123 additions and 40 deletions

View File

@ -1,4 +1,50 @@
Changelog for LyX-207-4:
Changelog for LyX-212-2:
- fix problem that some LaTeX language packages were not installed automatically
leading to LaTeX errors when compiling LyX documents
- new spell checker for Turkish
- updated spell-checker dictionaries for English, Norwegian(Bokmal), Portuguese
and Scottish
(To benefit from them you must uninstall an already installed LyX 2.1.x and
then use this installer.)
- updated thesaurus for Slovenian
(you need to reinstall LyX to benefit from this)
- updated to Python 2.7.9
Changelog for LyX-212-1:
- installs LyX 2.1.2
Changelog for LyX-211-2:
- updated to Python 2.7.8
Changelog for LyX-211-1:
- installs LyX 2.1.1
- updated to Ghostscript 8.14
- updated to Qt 4.8.6
Changelog for LyX-210-2:
- LyX can now also be installed over an existing installation of the same LyX version
if the users really wants this.
- LyX can now also be installed if the uninstaller executable of a former LyX was
accidentally deleted.
- If a user set MiKTeX's automatic package installation to "No" the installer will
respect that and not re-enable it.
Changelog for LyX-210-1:
- installs LyX 2.1.0
- fixed a bug that MiKTeX was not found if Windows' PATH variable is very long
Changelog for LyX-208-1:
- installs LyX 2.0.8
- fixed a bug that MiKTeX was not found if Windows' PATH variable is very long
Changelog for LyX-207-4:
- downgraded to Qt 4.8.4
(there is a bug in the newer Qt 4.8.5 that destroys some shortcuts)
- updated to JabRef 2.10

View File

@ -132,6 +132,8 @@ th_TH.aff
th_TH.dic
tk_TM.aff
tk_TM.dic
tr_TR.aff
tr_TR.dic
uk_UA.aff
uk_UA.dic
ur_PK.aff

View File

@ -8,7 +8,6 @@ apacite
apalike
arabi
authordate
babel
babel-albanian
babel-bahasa
babel-basque
@ -57,7 +56,6 @@ babel-ukrainian
babel-vietnamese
babel-welsh
bibtopic
bidi
booktabs
braille
breakurl
@ -70,28 +68,22 @@ endnotes
enumitem
esint
eso-pic
fontspec
fancybox
fancyhdr
filehook
float
framed
geometry
greek-inputenc
harvard
hyperref
hyphenat
iftex
jurabib
lettrine
listings
lithuanian
luainputenc
genmisc
mhchem
mongolian-babel
miktex-hyph-mongolian
multirow
natbib
units
nomencl
@ -107,6 +99,7 @@ sectionbox
serbianc
miktex-hyph-serbian
setspace
shapepar
soul
splitindex
subfig
@ -123,7 +116,6 @@ wrapfig
xargs
xcolor
xetex-def
xkeyval
arydshln
binhex
braket
@ -132,7 +124,6 @@ caption
colortbl
diagbox
etoolbox
eurosym
fp
koma-script
makecmds
@ -142,14 +133,9 @@ pict2e
sidecap
was
charter
courier
garamondx
helvet
mathpazo
utopia
ae
bera
cbgreek
ccfonts
cmbright
concmath
@ -160,14 +146,19 @@ eulervm
feyn
fontaxes
fourier
iwona
kurier
lh
lmodern
libertine
lm-math
luxi
mdput
minion2newtx
mslapa
newtx
stmaryrd
symbol
tex-gyre
tfrupee
tipa
txfonts
wasy
@ -195,6 +186,7 @@ ctex
dinbrief
dtk
elsarticle
elsevier
endfloat
epsf
europecv
@ -224,6 +216,7 @@ placeins
powerdot
pst-grad
pst-node
revtex
revtex4
sauerj
savesym
@ -241,4 +234,11 @@ ucs
upquote
xecjk
xifthen
answers
chicago
frankenstein
jsclasses
lambda-lists
mathdesign
mathtools
pdfcrop

View File

@ -28,8 +28,8 @@ Function FindDictionaries
# read out the possible spell-checker filenames from the file
FileOpen $R5 "$INSTDIR\Resources\HunspellDictionaryNames.txt" r
${for} $5 1 70
# the file has 140 lines, but we only need to check for one of the 2 dictionary files per language
${for} $5 1 71
# the file has 142 lines, but we only need to check for one of the 2 dictionary files per language
# therefore check only for every second line
FileRead $R5 $String # skip the .aff file
FileRead $R5 $String # $String is now the .dic filename
@ -66,7 +66,7 @@ Function DownloadHunspellDictionaries
# read out the locations from the file
FileOpen $R5 "$INSTDIR\Resources\HunspellDictionaryNames.txt" r
${For} $5 1 140 # the file has 140 lines
${For} $5 1 142 # the file has 142 lines
FileRead $R5 $String # $String is now the dictionary name
StrCpy $R3 $String -6 # $R3 is now the dictionary language code

View File

@ -167,14 +167,14 @@ SectionEnd
Section /o "English (CA)" SecDEnglishCA
StrCpy $DictCodes "en_CA,$DictCodes"
AddSize 690
AddSize 531
SectionEnd
Section "English (GB)" SecDEnglishGB
# already installed by default
SectionIn RO
#StrCpy $DictCodes "en_GB,$DictCodes"
AddSize 757
AddSize 652
SectionEnd
Section /o "English (NZ)" SecDEnglishNZ
@ -186,7 +186,7 @@ Section "English (US)" SecDEnglishUS
# already installed by default
SectionIn RO
#StrCpy $DictCodes "en_US,$DictCodes"
AddSize 688
AddSize 530
SectionEnd
Section "Español (ES)" SecDSpanishES
@ -237,7 +237,7 @@ SectionEnd
Section /o "Gàidhlig" SecDScottish
StrCpy $DictCodes "gd_GB,$DictCodes"
AddSize 2504
AddSize 3090
SectionEnd
Section /o "Galego" SecDGalician
@ -322,7 +322,7 @@ SectionEnd
Section /o "Norsk (Nynorsk)" SecDNorwegianNN
StrCpy $DictCodes "nn_NO,$DictCodes"
AddSize 1515
AddSize 1540
SectionEnd
Section /o "Occitan" SecDOccitan
@ -342,7 +342,7 @@ SectionEnd
Section /o "Português (PT)" SecDPortuguesePT
StrCpy $DictCodes "pt_PT,$DictCodes"
AddSize 1595
AddSize 1490
SectionEnd
Section /o "Româna" SecDRomanian
@ -415,6 +415,11 @@ Section /o "T
AddSize 950
SectionEnd
Section /o "Türkçe" SecDTurkish
StrCpy $DictCodes "tr_TR,$DictCodes"
AddSize 8870
SectionEnd
Section /o "Ukrainian" SecDUkrainian
StrCpy $DictCodes "uk_UA,$DictCodes"
AddSize 3077
@ -542,7 +547,7 @@ SectionEnd
Section /o "Slovenšcina" SecTSlovenian
StrCpy $ThesCodes "sl_SI,$ThesCodes"
AddSize 1121
AddSize 1110
SectionEnd
Section /o "Slovenský" SecTSlovakian
@ -626,17 +631,31 @@ Function .onInit
# check if this LyX version is already installed
${if} $MultiUser.Privileges == "Admin"
${orif} $MultiUser.Privileges == "Power"
ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "Publisher"
ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "DisplayIcon"
${else}
ReadRegStr $0 HKCU "${APP_UNINST_KEY}" "Publisher"
ReadRegStr $0 HKCU "${APP_UNINST_KEY}" "DisplayIcon"
# handle also the case that LyX is already installed in HKLM
${if} $0 == ""
ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "Publisher"
ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "DisplayIcon"
${endif}
${endif}
${if} $0 != ""
MessageBox MB_OK|MB_ICONSTOP "$(StillInstalled)" /SD IDOK
# check if the uninstaller was acidentally deleted
# if so don't bother the user if he realy wants to install a new LyX over an existing one
# because he won't have a chance to deny this
StrCpy $4 $0 -10 # remove '\bin\lyx,0'
# (for FileCheck the variables $0 and $1 cannot be used)
!insertmacro FileCheck $5 "Uninstall-LyX.exe" "$4" # macro from LyXUtils.nsh
${if} $5 == "False"
Goto ForceInstallation
${endif}
# installing over an existing installation of the same LyX release is not necessary
# if the users does this he most probably has a problem with LyX that can better be solved
# by reinstalling LyX
# for beta and other test releases over-installing can even cause errors
MessageBox MB_YESNO|MB_DEFBUTTON2|MB_ICONEXCLAMATION "$(AlreadyInstalled)" /SD IDNO IDYES ForceInstallation
Abort
ForceInstallation:
${endif}
# check if there is an existing LyX installation of the same LyX series
@ -1166,6 +1185,13 @@ Function .onInit
SectionSetFlags ${SecDTurkmen} $0
SectionSetSize ${SecDTurkmen} 0
${endif}
StrCpy $Search "tr_TR"
Call StrPoint
${if} $Pointer != "-1"
IntOp $0 ${SF_SELECTED} | ${SF_RO}
SectionSetFlags ${SecDTurkish} $0
SectionSetSize ${SecDTurkish} 0
${endif}
StrCpy $Search "uk_UA"
Call StrPoint
${if} $Pointer != "-1"

View File

@ -11,10 +11,10 @@ These typically need to be modified for each LyX release
!define APP_VERSION_MAJOR 2
!define APP_VERSION_MINOR 1
!define APP_VERSION_REVISION 0
!define APP_VERSION_REVISION 2
!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 1 # Start with 1 for the installer releases of each version
!define APP_VERSION_BUILD 2 # 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,9 +37,9 @@ 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 "C:\LyX\LyXPackage\LyX"
!define FILES_DEPS "C:\LyX\LyX2.0x\lyx-windows-deps-msvc2008"
!define FILES_QT "C:\LyX\LyXPackage\LyX"
!define FILES_LYX "D:\LyXPackage2.1\LyX"
!define FILES_DEPS "D:\LyXGit\Master\lyx-windows-deps-msvc2010"
!define FILES_QT "C:\Qt\4.8.6"
!define ClassFileDir "${FILES_LYX}\Resources\tex"
!define DVIPostFileDir "${FILES_DEPS}\tex"

View File

@ -55,8 +55,8 @@ Section -InstallData
WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoRepair" 0x00000001
WriteRegStr SHCTX ${APP_UNINST_KEY} "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
# if we install over an existing version, remove the old uninstaller information
${if} $OldVersionNumber != ""
# if we install over an older existing version, remove the old uninstaller information
${if} $OldVersionNumber < ${APP_SERIES_KEY}
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber"
# also delete in the case of an emergency release
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber1"
@ -215,17 +215,26 @@ Section -ConfigureScript
# ask to update MiKTeX
${if} $LaTeXInstalled == "MiKTeX"
Call UpdateMiKTeX # function from latex.nsh
# install all necessary packages at once
# install all necessary packages at once because this is much faster then to install the packages one by one
# NOTE: the babelpackages-txt list is only necessary for LyX 2.1.2 ans 2.1.3 because of the restructuration
# of babel in MiKTeX. This can be removed for LyX 2.1.4
DetailPrint $(TEXT_CONFIGURE_LYX)
${if} $MultiUser.Privileges != "Admin"
${andif} $MultiUser.Privileges != "Power"
# call the non-admin version
# at first we need to synchronize the package database
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--update-db"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--install-some=$INSTDIR\Resources\Packages.txt"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--install-some=$INSTDIR\Resources\babel-Packages.txt"'
${else}
${if} $MiKTeXUser != "HKCU" # call the admin version
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--verbose" "--update-db"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--verbose" "--install-some=$INSTDIR\Resources\Packages.txt"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--verbose" "--install-some=$INSTDIR\Resources\babel-Packages.txt"'
${else}
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--update-db"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--install-some=$INSTDIR\Resources\Packages.txt"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--install-some=$INSTDIR\Resources\babel-Packages.txt"'
${endif}
${endif}
${endif}