Win installer: backport some recent changes

This commit is contained in:
Uwe Stöhr 2017-11-05 20:54:36 +01:00
parent 16fcce1f71
commit 6030161ad9
8 changed files with 21 additions and 109 deletions

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

@ -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
*/

View File

@ -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

View File

@ -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

View File

@ -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\

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