Win installer: backport recent changes from RC1

This commit is contained in:
Uwe Stöhr 2017-11-02 21:51:36 +01:00
parent fadb93ae68
commit 77237fd895
8 changed files with 56 additions and 111 deletions

View File

@ -1,11 +1,20 @@
Changelog for LyX-230-beta1:
Changelog for LyX-230-RC1:
- installs LyX 2.3.0 RC1
- fix bug that the BibTeX editor Jabref and the image editor Krita
were not detected as 64bit application
- updated to Qt 5.6.3
- updated to ImageMagick 7.0.7-8
- updated to Ghostscript 9.22
- updated thesaurus for Ukrainian
- updated spell checker dictionaries for English (GB, US) and Tibetan
Changelog for LyX-230-beta1:
- installs LyX 2.3.0 beta1
- updated to MiKTeX 2.9 build 6361
- updated to Qt 5.6.3
- updated to ImageMagick 7.0.6-7
- updated to Perl 5.24.2.1
- updated to NSIS 3.0.2.1
- updated to Ghostscript 9.22
- updated thesaurus for Ukrainian
- updated spell checker dictionaries for English (GB), Portuguese, Scottish and
Ukrainian

View File

@ -277,11 +277,6 @@ Function ConfigureMiKTeX
SetOutPath "$PathLaTeXLocal\tex\latex\lyx"
CopyFiles /SILENT "$INSTDIR\Resources\tex\*.*" "$PathLaTeXLocal\tex\latex\lyx"
${endif}
# Hungarian support
# The following seems to be unnecesary since 2015, therefore it is commented
# this is a replacement therefore do this in every case
#SetOutPath "$PathLaTeXLocal\tex\generic\babel"
#File "${FILES_DVIPOST_PKG}\magyar.ldf"
# install a Perl interpreter for splitindex and pdfcrop
SetOutPath "$INSTDIR"
@ -342,7 +337,18 @@ Function ConfigureMiKTeX
NoAutoInstall:
# update MiKTeX's package file list
ExecWait '$PathLaTeX\mpm.exe --update-fndb'
${if} $MultiUser.Privileges != "Admin"
${andif} $MultiUser.Privileges != "Power"
# call the non-admin version
nsExec::ExecToLog "$PathLaTeX\mpm.exe --update-fndb"
${else}
${if} $MiKTeXUser != "HKCU" # call the admin version
nsExec::ExecToLog "$PathLaTeX\mpm.exe --admin --update-fndb"
${else}
nsExec::ExecToLog "$PathLaTeX\mpm.exe --update-fndb"
${endif}
${endif}
Pop $UpdateFNDBReturn # Return value
# we must return to 32bit because LyX is a 32bit application
SetRegView 32

View File

@ -144,6 +144,9 @@ Function MissingPrograms
StrCpy $ImageEditor "Photoshop"
${endif}
# check for Krita
${if} ${RunningX64}
SetRegView 64
${endif}
ReadRegStr $0 HKLM "SOFTWARE\Classes\Krita.Document\shell\open\command" ""
${if} $0 != ""
StrCpy $0 "$0" -16 # delete '\krita.exe" "%1"'
@ -155,12 +158,22 @@ Function MissingPrograms
${endif}
StrCpy $ImageEditor "Krita"
${endif}
${if} ${RunningX64}
SetRegView 32
${endif}
# test if and where the BibTeX-editor JabRef is installed
ReadRegStr $PathBibTeXEditor HKLM "Software\JabRef" "Path"
${if} ${RunningX64}
SetRegView 64
${endif}
ReadRegStr $PathBibTeXEditor HKLM "SOFTWARE\JabRef" "Path"
# if not installed as admin, check for user
${if} $PathBibTeXEditor == ""
ReadRegStr $PathBibTeXEditor HKCU "Software\JabRef" "Path"
${endif}
${if} ${RunningX64}
SetRegView 32
${endif}
${ifnot} ${FileExists} "$PathBibTeXEditor\${BIN_BIBTEXEDITOR}"
StrCpy $PathBibTeXEditor ""

View File

@ -62,13 +62,6 @@ Section "$(SecDesktopTitle)" SecDesktop
StrCpy $CreateDesktopIcon "true"
SectionEnd
!if ${SETUPTYPE} == BUNDLE
Section "$(SecInstJabRefTitle)" SecInstJabRef
AddSize ${SIZE_JABREF}
StrCpy $InstallJabRef "true"
SectionEnd
!endif
# Expand the list of dictionaries by default as this was requested by several
# users. For the thesaurus this is was not requested because this section
# is by default empty.
@ -593,9 +586,6 @@ SectionGroupEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "$(SecCoreDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecFileAssoc} "$(SecFileAssocDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "$(SecDesktopDescription)"
!if ${SETUPTYPE} == BUNDLE
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstJabRef} "$(SecInstJabRefDescription)"
!endif
!insertmacro MUI_DESCRIPTION_TEXT ${SecDictionaries} "$(SecDictionariesDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecThesaurus} "$(SecThesaurusDescription)"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
@ -718,12 +708,12 @@ Function .onInit
Call SearchExternal
!if ${SETUPTYPE} == BUNDLE
# don't let the installer sections appear when the programs are already installed
${if} $PathBibTeXEditor != ""
SectionSetText 3 "" # hides the corresponding uninstaller section, ${SecInstJabRef}
${endif}
!endif
#!if ${SETUPTYPE} == BUNDLE
# # don't let the installer sections appear when the programs are already installed
# ${if} $PathBibTeXEditor != ""
# SectionSetText 3 "" # hides the corresponding uninstaller section, ${SecInstJabRef}
# ${endif}
#!endif
# select sections of already installed spell-checker dictionaries, make them read-only
# and set the necessary size to 0 bytes
@ -1482,15 +1472,6 @@ Function un.onInit
SectionSetText 2 "" # hides the corresponding uninstaller section
${endif}
# test if JabRef was installed together with LyX
ReadRegStr $0 SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "OnlyWithLyX"
${if} $0 == "Yes${APP_SERIES_KEY}"
SectionSetText 3 "JabRef" # names the corersponding uninstaller section
StrCpy $JabRefInstalled "Yes"
${else}
SectionSetText 3 "" # hides the corresponding uninstaller section
${endif}
# question message if the user really wants to uninstall LyX
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "$(UnReallyRemoveLabel)" /SD IDYES IDYES +2 # continue if yes
Abort

View File

@ -28,9 +28,6 @@ Var GnumericPath
Var ImageEditor
Var ImageEditorPath
Var Is64bit
!if ${SETUPTYPE} == BUNDLE
Var InstallJabRef
!endif
Var JabRefInstalled
Var LaTeXName
Var LaTeXInstalled

View File

@ -107,7 +107,10 @@ Section -Configure
# .lyx20
WriteRegStr SHCTX "Software\Classes\${APP_EXT}20" "" "${APP_REGNAME_DOC}"
WriteRegStr SHCTX "Software\Classes\${APP_EXT}20" "Content Type" "${APP_MIME_TYPE}"
# .lyx21 don't set this, because this is designed to be opened with LyX 2.1.x
# .lyx21
WriteRegStr SHCTX "Software\Classes\${APP_EXT}21" "" "${APP_REGNAME_DOC}"
WriteRegStr SHCTX "Software\Classes\${APP_EXT}21" "Content Type" "${APP_MIME_TYPE}"
# .lyx22 don't set this, because this is designed to be opened with LyX 2.2.x
# Refresh shell
${RefreshShellIcons}
@ -157,7 +160,7 @@ Section -Configure
Delete "$INSTDIR\Resources\lyxrc.dist"
FileOpen $R1 "$INSTDIR\Resources\lyxrc.dist" w
# set the format to the latest LyXRC format
FileWrite $R1 'Format 23$\r$\n'
FileWrite $R1 'Format 24$\r$\n'
# set some general things
FileWrite $R1 '\screen_zoom 120$\r$\n'
${if} "$PathPrefix" != ""

View File

@ -69,7 +69,7 @@ Section -ProgramFiles SecProgramFiles
!if ${SETUPTYPE} == BUNDLE
# extract the Jabref and MiKTeX installer
# extract the MiKTeX installer
File /r "${FILES_LYX}\external"
# install MiKTeX if not already installed
@ -129,45 +129,6 @@ Section -ProgramFiles SecProgramFiles
StrCpy $GhostscriptPath "$INSTDIR\ghostscript\bin"
${endif}
!if ${SETUPTYPE} == BUNDLE
# install JabRef if not already installed, the user selected it
# and if no BibTeX editor is installed
${if} $PathBibTeXEditor == ""
${andif} $InstallJabRef == "true"
# launch installer
MessageBox MB_OK|MB_ICONINFORMATION "$(JabRefInfo)" /SD IDOK
IfSilent 0 +2
ExecWait "$INSTDIR\${JabRefInstall} /S"
ExecWait "$INSTDIR\${JabRefInstall}"
# test if JabRef is now installed
StrCpy $PathBibTeXEditor ""
${if} $MultiUser.Privileges == "Admin"
${orif} $MultiUser.Privileges == "Power"
ReadRegStr $PathBibTeXEditor HKLM "Software\JabRef" "Path"
${else}
ReadRegStr $PathBibTeXEditor HKCU "Software\JabRef" "Path"
${ifnot} ${FileExists} "$PathBibTeXEditor\${BIN_BIBTEXEDITOR}"
StrCpy $PathBibTeXEditor ""
${endif}
${endif}
${if} $PathBibTeXEditor == ""
MessageBox MB_OK|MB_ICONEXCLAMATION "$(JabRefError)" /SD IDOK
${else}
# special entry that it was installed together with LyX
# so that we can later uninstall it together with LyX
${if} $MultiUser.Privileges == "Admin"
${orif} $MultiUser.Privileges == "Power"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "OnlyWithLyX" "Yes${APP_SERIES_KEY}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "UninstallString" "$PathBibTeXEditor\uninstall.exe"
${else}
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "OnlyWithLyX" "Yes${APP_SERIES_KEY}"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "UninstallString" "$PathBibTeXEditor\uninstall.exe"
${endif}
${endif}
${endif} # end if PathBibTeXEditor
!endif # end if BUNDLE
# install eLyXer
SetOutPath "$INSTDIR\Python\Lib"
!insertmacro FileListeLyXer File "${FILES_ELYXER}\"

View File

@ -94,7 +94,6 @@ Section "un.LyX" un.SecUnProgramFiles
# delete info that programs were installed together with LyX
DeleteRegValue SHCTX "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX"
DeleteRegValue SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "OnlyWithLyX"
# for texindy the path to the perl.exe must unfortunately be in Windows' PATH variable
# so we have to remove it now
@ -131,34 +130,10 @@ Section "un.MiKTeX" un.SecUnMiKTeX
SectionEnd
#---------------------------------
# JabRef
Section "un.JabRef" un.SecUnJabRef
${if} $JabRefInstalled == "Yes" # only uninstall JabRef when it was installed together with LyX
${If} $MultiUser.Privileges == "Admin"
${OrIf} $MultiUser.Privileges == "Power"
ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "UninstallString"
IfSilent 0 +2
ExecWait "$1 /S" # run JabRef's uninstaller
ExecWait "$1" # run JabRef's uninstaller
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef"
${else}
ReadRegStr $1 HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef" "UninstallString"
IfSilent 0 +2
ExecWait "$1 /S" # run JabRef's uninstaller
ExecWait "$1" # run JabRef's uninstaller
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef"
${endif}
${endif}
SectionEnd
#---------------------------------
# Section descriptions
!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnMiKTeX} "$(SecUnMiKTeXDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnJabRef} "$(SecUnJabRefDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnPreferences} "$(SecUnPreferencesDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnProgramFiles} "$(SecUnProgramFilesDescription)"
!insertmacro MUI_UNFUNCTION_DESCRIPTION_END