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 - downgraded to Qt 4.8.4
(there is a bug in the newer Qt 4.8.5 that destroys some shortcuts) (there is a bug in the newer Qt 4.8.5 that destroys some shortcuts)
- updated to JabRef 2.10 - updated to JabRef 2.10

View File

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

View File

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

View File

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

View File

@ -167,14 +167,14 @@ SectionEnd
Section /o "English (CA)" SecDEnglishCA Section /o "English (CA)" SecDEnglishCA
StrCpy $DictCodes "en_CA,$DictCodes" StrCpy $DictCodes "en_CA,$DictCodes"
AddSize 690 AddSize 531
SectionEnd SectionEnd
Section "English (GB)" SecDEnglishGB Section "English (GB)" SecDEnglishGB
# already installed by default # already installed by default
SectionIn RO SectionIn RO
#StrCpy $DictCodes "en_GB,$DictCodes" #StrCpy $DictCodes "en_GB,$DictCodes"
AddSize 757 AddSize 652
SectionEnd SectionEnd
Section /o "English (NZ)" SecDEnglishNZ Section /o "English (NZ)" SecDEnglishNZ
@ -186,7 +186,7 @@ Section "English (US)" SecDEnglishUS
# already installed by default # already installed by default
SectionIn RO SectionIn RO
#StrCpy $DictCodes "en_US,$DictCodes" #StrCpy $DictCodes "en_US,$DictCodes"
AddSize 688 AddSize 530
SectionEnd SectionEnd
Section "Español (ES)" SecDSpanishES Section "Español (ES)" SecDSpanishES
@ -237,7 +237,7 @@ SectionEnd
Section /o "Gàidhlig" SecDScottish Section /o "Gàidhlig" SecDScottish
StrCpy $DictCodes "gd_GB,$DictCodes" StrCpy $DictCodes "gd_GB,$DictCodes"
AddSize 2504 AddSize 3090
SectionEnd SectionEnd
Section /o "Galego" SecDGalician Section /o "Galego" SecDGalician
@ -322,7 +322,7 @@ SectionEnd
Section /o "Norsk (Nynorsk)" SecDNorwegianNN Section /o "Norsk (Nynorsk)" SecDNorwegianNN
StrCpy $DictCodes "nn_NO,$DictCodes" StrCpy $DictCodes "nn_NO,$DictCodes"
AddSize 1515 AddSize 1540
SectionEnd SectionEnd
Section /o "Occitan" SecDOccitan Section /o "Occitan" SecDOccitan
@ -342,7 +342,7 @@ SectionEnd
Section /o "Português (PT)" SecDPortuguesePT Section /o "Português (PT)" SecDPortuguesePT
StrCpy $DictCodes "pt_PT,$DictCodes" StrCpy $DictCodes "pt_PT,$DictCodes"
AddSize 1595 AddSize 1490
SectionEnd SectionEnd
Section /o "Româna" SecDRomanian Section /o "Româna" SecDRomanian
@ -415,6 +415,11 @@ Section /o "T
AddSize 950 AddSize 950
SectionEnd SectionEnd
Section /o "Türkçe" SecDTurkish
StrCpy $DictCodes "tr_TR,$DictCodes"
AddSize 8870
SectionEnd
Section /o "Ukrainian" SecDUkrainian Section /o "Ukrainian" SecDUkrainian
StrCpy $DictCodes "uk_UA,$DictCodes" StrCpy $DictCodes "uk_UA,$DictCodes"
AddSize 3077 AddSize 3077
@ -542,7 +547,7 @@ SectionEnd
Section /o "Slovenšcina" SecTSlovenian Section /o "Slovenšcina" SecTSlovenian
StrCpy $ThesCodes "sl_SI,$ThesCodes" StrCpy $ThesCodes "sl_SI,$ThesCodes"
AddSize 1121 AddSize 1110
SectionEnd SectionEnd
Section /o "Slovenský" SecTSlovakian Section /o "Slovenský" SecTSlovakian
@ -626,17 +631,31 @@ Function .onInit
# check if this LyX version is already installed # check if this LyX version is already installed
${if} $MultiUser.Privileges == "Admin" ${if} $MultiUser.Privileges == "Admin"
${orif} $MultiUser.Privileges == "Power" ${orif} $MultiUser.Privileges == "Power"
ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "Publisher" ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "DisplayIcon"
${else} ${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 # handle also the case that LyX is already installed in HKLM
${if} $0 == "" ${if} $0 == ""
ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "Publisher" ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "DisplayIcon"
${endif} ${endif}
${endif} ${endif}
${if} $0 != "" ${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 Abort
ForceInstallation:
${endif} ${endif}
# check if there is an existing LyX installation of the same LyX series # check if there is an existing LyX installation of the same LyX series
@ -1166,6 +1185,13 @@ Function .onInit
SectionSetFlags ${SecDTurkmen} $0 SectionSetFlags ${SecDTurkmen} $0
SectionSetSize ${SecDTurkmen} 0 SectionSetSize ${SecDTurkmen} 0
${endif} ${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" StrCpy $Search "uk_UA"
Call StrPoint Call StrPoint
${if} $Pointer != "-1" ${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_MAJOR 2
!define APP_VERSION_MINOR 1 !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_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_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 !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 # File locations
# !!! you need to adjust them to the folders in your Windows system !!! # !!! you need to adjust them to the folders in your Windows system !!!
!define FILES_LYX "C:\LyX\LyXPackage\LyX" !define FILES_LYX "D:\LyXPackage2.1\LyX"
!define FILES_DEPS "C:\LyX\LyX2.0x\lyx-windows-deps-msvc2008" !define FILES_DEPS "D:\LyXGit\Master\lyx-windows-deps-msvc2010"
!define FILES_QT "C:\LyX\LyXPackage\LyX" !define FILES_QT "C:\Qt\4.8.6"
!define ClassFileDir "${FILES_LYX}\Resources\tex" !define ClassFileDir "${FILES_LYX}\Resources\tex"
!define DVIPostFileDir "${FILES_DEPS}\tex" !define DVIPostFileDir "${FILES_DEPS}\tex"

View File

@ -55,8 +55,8 @@ Section -InstallData
WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoRepair" 0x00000001 WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoRepair" 0x00000001
WriteRegStr SHCTX ${APP_UNINST_KEY} "StartMenu" "$SMPROGRAMS\$StartmenuFolder" WriteRegStr SHCTX ${APP_UNINST_KEY} "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
# if we install over an existing version, remove the old uninstaller information # if we install over an older existing version, remove the old uninstaller information
${if} $OldVersionNumber != "" ${if} $OldVersionNumber < ${APP_SERIES_KEY}
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber" DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber"
# also delete in the case of an emergency release # also delete in the case of an emergency release
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber1" DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber1"
@ -215,17 +215,26 @@ Section -ConfigureScript
# ask to update MiKTeX # ask to update MiKTeX
${if} $LaTeXInstalled == "MiKTeX" ${if} $LaTeXInstalled == "MiKTeX"
Call UpdateMiKTeX # function from latex.nsh 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) DetailPrint $(TEXT_CONFIGURE_LYX)
${if} $MultiUser.Privileges != "Admin" ${if} $MultiUser.Privileges != "Admin"
${andif} $MultiUser.Privileges != "Power" ${andif} $MultiUser.Privileges != "Power"
# call the non-admin version # 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\Packages.txt"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--install-some=$INSTDIR\Resources\babel-Packages.txt"'
${else} ${else}
${if} $MiKTeXUser != "HKCU" # call the admin version ${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\Packages.txt"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--admin" "--verbose" "--install-some=$INSTDIR\Resources\babel-Packages.txt"'
${else} ${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\Packages.txt"'
nsExec::ExecToLog '"$PathLaTeX\mpm.exe" "--verbose" "--install-some=$INSTDIR\Resources\babel-Packages.txt"'
${endif} ${endif}
${endif} ${endif}
${endif} ${endif}