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" StrCpy $CreateDesktopIcon "true"
SectionEnd 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 # 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 # users. For the thesaurus this is was not requested because this section
# is by default empty. # is by default empty.
@ -593,9 +586,6 @@ SectionGroupEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "$(SecCoreDescription)" !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "$(SecCoreDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecFileAssoc} "$(SecFileAssocDescription)" !insertmacro MUI_DESCRIPTION_TEXT ${SecFileAssoc} "$(SecFileAssocDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "$(SecDesktopDescription)" !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 ${SecDictionaries} "$(SecDictionariesDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecThesaurus} "$(SecThesaurusDescription)" !insertmacro MUI_DESCRIPTION_TEXT ${SecThesaurus} "$(SecThesaurusDescription)"
!insertmacro MUI_FUNCTION_DESCRIPTION_END !insertmacro MUI_FUNCTION_DESCRIPTION_END
@ -718,12 +708,12 @@ Function .onInit
Call SearchExternal Call SearchExternal
!if ${SETUPTYPE} == BUNDLE #!if ${SETUPTYPE} == BUNDLE
# don't let the installer sections appear when the programs are already installed # # don't let the installer sections appear when the programs are already installed
${if} $PathBibTeXEditor != "" # ${if} $PathBibTeXEditor != ""
SectionSetText 3 "" # hides the corresponding uninstaller section, ${SecInstJabRef} # SectionSetText 3 "" # hides the corresponding uninstaller section, ${SecInstJabRef}
${endif} # ${endif}
!endif #!endif
# select sections of already installed spell-checker dictionaries, make them read-only # select sections of already installed spell-checker dictionaries, make them read-only
# and set the necessary size to 0 bytes # and set the necessary size to 0 bytes
@ -1482,15 +1472,6 @@ Function un.onInit
SectionSetText 2 "" # hides the corresponding uninstaller section SectionSetText 2 "" # hides the corresponding uninstaller section
${endif} ${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 # 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 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "$(UnReallyRemoveLabel)" /SD IDYES IDYES +2 # continue if yes
Abort Abort

View File

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

View File

@ -1,8 +1,8 @@
/* /*
NSIS Script - LyX 2.2 Installer for Windows NSIS Script - LyX 2.2 Installer for Windows
Authors: Joost Verburg, Angus Leeming, Uwe Stöhr Authors: Joost Verburg, Angus Leeming, Uwe Stöhr
Compatible with NSIS 2.51 Compatible with NSIS 3.0
*/ */

View File

@ -1,7 +1,7 @@
/* /*
NSIS Script - LyX 2.2 Installer for Windows NSIS Script - LyX 2.2 Installer for Windows
Authors: Joost Verburg, Angus Leeming, Uwe Stöhr Authors: Joost Verburg, Angus Leeming, Uwe Stöhr
Compatible with NSIS 2.51 Compatible with NSIS 3.0
*/ */
# Do a Cyclic Redundancy Check to make sure the installer # 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 MiKTeXRepo "ftp://ftp.fernuni-hagen.de/pub/mirrors/www.ctan.org/systems/win32/miktex/tm/packages/"
!define MiKTeXDeliveredVersion "2.9" !define MiKTeXDeliveredVersion "2.9"
!define ImageMagickVersion "7.0.6" !define ImageMagickVersion "7.0.7"
# definitions for the Complete installer # definitions for the Complete installer
!if ${SETUPTYPE} == BUNDLE !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" !define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.9.6361.exe"
!endif !endif

View File

@ -203,7 +203,7 @@ Section -Configure
${endif} ${endif}
# if LilyPondPath was found # 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 the full path is given.
${if} $LilyPondPath != "" ${if} $LilyPondPath != ""
FileWrite $R1 '\format "lilypond-book" "lytex" "LilyPond book (LaTeX)" "" "" "auto" "document,menu=export" ""$\r$\n\ 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 !if ${SETUPTYPE} == BUNDLE
# extract the Jabref and MiKTeX installer # extract the MiKTeX installer
File /r "${FILES_LYX}\external" File /r "${FILES_LYX}\external"
# install MiKTeX if not already installed # install MiKTeX if not already installed
@ -129,52 +129,13 @@ Section -ProgramFiles SecProgramFiles
StrCpy $GhostscriptPath "$INSTDIR\ghostscript\bin" StrCpy $GhostscriptPath "$INSTDIR\ghostscript\bin"
${endif} ${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 # install unoconv
# and if no BibTeX editor is installed SetOutPath "$INSTDIR\Python\Lib"
${if} $PathBibTeXEditor == "" !insertmacro FileListUnoConv File "${FILES_UNOCONV}\"
${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 the LaTeX class files that are delivered with LyX to MiKTeX # install the LaTeX class files that are delivered with LyX to MiKTeX
# and enable MiKTeX's automatic package installation # and enable MiKTeX's automatic package installation

View File

@ -94,7 +94,6 @@ Section "un.LyX" un.SecUnProgramFiles
# delete info that programs were installed together with LyX # delete info that programs were installed together with LyX
DeleteRegValue SHCTX "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" 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 # for texindy the path to the perl.exe must unfortunately be in Windows' PATH variable
# so we have to remove it now # so we have to remove it now
@ -131,34 +130,10 @@ Section "un.MiKTeX" un.SecUnMiKTeX
SectionEnd 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 # Section descriptions
!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnMiKTeX} "$(SecUnMiKTeXDescription)" !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.SecUnPreferences} "$(SecUnPreferencesDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnProgramFiles} "$(SecUnProgramFilesDescription)" !insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnProgramFiles} "$(SecUnProgramFilesDescription)"
!insertmacro MUI_UNFUNCTION_DESCRIPTION_END !insertmacro MUI_UNFUNCTION_DESCRIPTION_END