From 6030161ad94e8fb49cdb74437070672320947416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20St=C3=B6hr?= Date: Sun, 5 Nov 2017 20:54:36 +0100 Subject: [PATCH] Win installer: backport some recent changes --- .../packaging/installer/include/init.nsh | 31 +++-------- .../packaging/installer/include/variables.nsh | 3 -- .../Win32/packaging/installer/lyx-bundle.nsi | 6 +-- .../packaging/installer/lyx-standard.nsi | 6 +-- .../Win32/packaging/installer/settings.nsh | 4 +- .../packaging/installer/setup/configure.nsh | 2 +- .../packaging/installer/setup/install.nsh | 53 +++---------------- .../packaging/installer/setup/uninstall.nsh | 25 --------- 8 files changed, 21 insertions(+), 109 deletions(-) diff --git a/development/Win32/packaging/installer/include/init.nsh b/development/Win32/packaging/installer/include/init.nsh index 37d2b3ed2a..90c8ff008c 100644 --- a/development/Win32/packaging/installer/include/init.nsh +++ b/development/Win32/packaging/installer/include/init.nsh @@ -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 diff --git a/development/Win32/packaging/installer/include/variables.nsh b/development/Win32/packaging/installer/include/variables.nsh index 0a9d64b608..c2fd83adc4 100644 --- a/development/Win32/packaging/installer/include/variables.nsh +++ b/development/Win32/packaging/installer/include/variables.nsh @@ -28,9 +28,6 @@ Var GnumericPath Var ImageEditor Var ImageEditorPath Var Is64bit -!if ${SETUPTYPE} == BUNDLE - Var InstallJabRef -!endif Var JabRefInstalled Var LaTeXName Var LaTeXInstalled diff --git a/development/Win32/packaging/installer/lyx-bundle.nsi b/development/Win32/packaging/installer/lyx-bundle.nsi index 824debb11c..c116c24532 100644 --- a/development/Win32/packaging/installer/lyx-bundle.nsi +++ b/development/Win32/packaging/installer/lyx-bundle.nsi @@ -1,8 +1,8 @@ -/* +/* NSIS Script - LyX 2.2 Installer for Windows -Authors: Joost Verburg, Angus Leeming, Uwe Stöhr -Compatible with NSIS 2.51 +Authors: Joost Verburg, Angus Leeming, Uwe Stöhr +Compatible with NSIS 3.0 */ diff --git a/development/Win32/packaging/installer/lyx-standard.nsi b/development/Win32/packaging/installer/lyx-standard.nsi index 3cbce02174..4faea992d1 100644 --- a/development/Win32/packaging/installer/lyx-standard.nsi +++ b/development/Win32/packaging/installer/lyx-standard.nsi @@ -1,7 +1,7 @@ -/* +/* NSIS Script - LyX 2.2 Installer for Windows -Authors: Joost Verburg, Angus Leeming, Uwe Stöhr -Compatible with NSIS 2.51 +Authors: Joost Verburg, Angus Leeming, Uwe Stöhr +Compatible with NSIS 3.0 */ # Do a Cyclic Redundancy Check to make sure the installer diff --git a/development/Win32/packaging/installer/settings.nsh b/development/Win32/packaging/installer/settings.nsh index d0f35de542..7b4efee4c1 100644 --- a/development/Win32/packaging/installer/settings.nsh +++ b/development/Win32/packaging/installer/settings.nsh @@ -51,11 +51,9 @@ These typically need to be modified for each LyX release !define MiKTeXRepo "ftp://ftp.fernuni-hagen.de/pub/mirrors/www.ctan.org/systems/win32/miktex/tm/packages/" !define MiKTeXDeliveredVersion "2.9" -!define ImageMagickVersion "7.0.6" +!define ImageMagickVersion "7.0.7" # definitions for the Complete installer !if ${SETUPTYPE} == BUNDLE - !define JabRefInstall "external\JabRef_windows_3_8_2.exe" - !define SIZE_JABREF 36831 # size in KB !define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.9.6361.exe" !endif diff --git a/development/Win32/packaging/installer/setup/configure.nsh b/development/Win32/packaging/installer/setup/configure.nsh index 97700dcffa..62c944eeba 100644 --- a/development/Win32/packaging/installer/setup/configure.nsh +++ b/development/Win32/packaging/installer/setup/configure.nsh @@ -203,7 +203,7 @@ Section -Configure ${endif} # if LilyPondPath was found - # We need to add these entris because python scripts can only be executed + # We need to add these entries because python scripts can only be executed # if the full path is given. ${if} $LilyPondPath != "" FileWrite $R1 '\format "lilypond-book" "lytex" "LilyPond book (LaTeX)" "" "" "auto" "document,menu=export" ""$\r$\n\ diff --git a/development/Win32/packaging/installer/setup/install.nsh b/development/Win32/packaging/installer/setup/install.nsh index 6894eda075..40e014d0ce 100644 --- a/development/Win32/packaging/installer/setup/install.nsh +++ b/development/Win32/packaging/installer/setup/install.nsh @@ -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,52 +129,13 @@ Section -ProgramFiles SecProgramFiles StrCpy $GhostscriptPath "$INSTDIR\ghostscript\bin" ${endif} - !if ${SETUPTYPE} == BUNDLE + # install eLyXer + SetOutPath "$INSTDIR\Python\Lib" + !insertmacro FileListeLyXer File "${FILES_ELYXER}\" - # 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}\" - - # install unoconv - SetOutPath "$INSTDIR\Python\Lib" - !insertmacro FileListUnoConv File "${FILES_UNOCONV}\" + # install unoconv + SetOutPath "$INSTDIR\Python\Lib" + !insertmacro FileListUnoConv File "${FILES_UNOCONV}\" # install the LaTeX class files that are delivered with LyX to MiKTeX # and enable MiKTeX's automatic package installation diff --git a/development/Win32/packaging/installer/setup/uninstall.nsh b/development/Win32/packaging/installer/setup/uninstall.nsh index 1c34a55333..35e4df1321 100644 --- a/development/Win32/packaging/installer/setup/uninstall.nsh +++ b/development/Win32/packaging/installer/setup/uninstall.nsh @@ -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