From: Uwe Stöhr Date: Tue, 15 May 2007 01:31:19 +0000 (+0000) Subject: installer: X-Git-Tag: 1.6.10~9775 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=d9d7d1769a820b8cedc1ed70357af70659cd8b6e;p=features.git installer: - updates - new script to be able to build all installer version at once via e.g. SCons - updated to MiKTeX 2.6 -> lots of changes in the recognition of the LaTeX-distributions - fix uninstalling bug - added readme for the Update Installer git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18326 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi b/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi new file mode 100644 index 0000000000..04d8f376ad --- /dev/null +++ b/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi @@ -0,0 +1,23 @@ +# this script compiles the three different installer variants at once +# this is necessary when the installer should e.g. be built by SCons or CMake + +SetCompressor /SOLID lzma + +#-------------------------------- +# The following commands use makensis to compile the three different installer variants. + +#-------------------------------- +#Compile the Update Installer + +!system '"${NSISDIR}\makensis.exe" "LyXInstaller-Update.nsi"' + +#-------------------------------- +#Compile the Small Installer + +!system '"${NSISDIR}\makensis.exe" "LyXInstaller-Small.nsi"' + +#-------------------------------- +#Compile the Complete Installer + +!system '"${NSISDIR}\makensis.exe" "LyXInstaller-Complete.nsi"' + diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt b/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt index 22d501c7a3..0ee0faa46d 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt +++ b/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt @@ -1,16 +1,20 @@ -Version LyX 1.5beta3-14-05-2007 -- LyX 1.5 beta3 from 14-05-2007 +Version LyX 1.5beta3-15-05-2007 +- LyX 1.5 beta3 from 15-05-2007 - fix bug, introduced with last version, that all margin notes in a document are lost - support for Chinese, Japenese and Korean - support for the LaTeX-package "listings" +- updated to ImageMagick 6.3.4 +- updated to Phyton 2.5.1 +- updated to MikteX 2.6 (version 2675) - fix bug that LyX's menu language setting was ignored when LyX is started by double-clicking on a LyX-file - when Updating PDFs, the PDF is opened at the last viewed position (only works with Acrobat/adobe Reader version <= 7) - fix hopefully the case that PDFs couldn't be updated when Adobe Reader 8 is used on Windows Vista +- fix bug that MiKTeX and JabRef weren't correctly uninstalled Version LyX 1.5svn-02-05-2007 diff --git a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh index 8adadc8a04..24b3d373d6 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh @@ -16,7 +16,7 @@ Section "-Installation actions" SecInstallation File /r "${PRODUCT_SOURCEDIR}\external" # install MiKTeX if not already installed - Call MiKTeX + Call InstallMiKTeX # function from LaTeX.nsh # install Ghostscript if not already installed Call Ghostscript @@ -96,51 +96,10 @@ Section "-Installation actions" SecInstallation FileWrite $R1 '$LaTeXPath' FileClose $R1 - # prepare variables for uninstaller - StrCpy $MiKTeXVersionVar ${MiKTeXDeliveredVersion} - StrCpy $JabRefVersionVar ${JabRefVersion} - SectionEnd # ------------------------------------------- -Function MiKTeX - -# install MiKTeX if not already installed - ${if} $LatexPath == "" - # launch MiKTeX's installer - MessageBox MB_OK|MB_ICONINFORMATION "$(LatexInfo)" - ExecWait ${MiKTeXInstall} - # test if MiKTeX is installed - ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" - StrCpy $Search "miktex" - Call LaTeXCheck - ${if} $LatexPath == "" - StrCpy $MiKTeXUser "HKCU" - ReadRegStr $String HKCU "Environment" "Path" - StrCpy $Search "miktex" - Call LaTeXCheck - ${endif} - ${if} $LatexPath != "" - # set package repository (MiKTeX's primary package repository) - WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" # special entry to tell the uninstaller that it was installed with LyX - StrCpy $MiKTeXInstalled "yes" - ${if} $MiKTeXUser != "HKCU" - StrCpy $MiKTeXPath "$LatexPath" -11 - #MessageBox MB_OK|MB_ICONINFORMATION "$(MiKTeXPathInfo)" # info that MiKTeX's installation folder must have write permissions for all users to work properly - ${endif} - ${else} - MessageBox MB_OK|MB_ICONSTOP "$(LatexError1)" - SetOutPath $TEMP # to be able to delete the $INSTDIR - RMDir /r $INSTDIR - Abort - ${endif} # endif $LatexPath != "" - ${endif} - -FunctionEnd - -# ------------------------------------------- - Function Ghostscript # if GhostScript is not installed diff --git a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh index c4354b7d90..2205506181 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh @@ -86,10 +86,6 @@ Section "-Installation actions" SecInstallation FileWrite $R1 '$LaTeXPath' FileClose $R1 - # prepare variables for uninstaller - StrCpy $MiKTeXVersionVar ${MiKTeXDeliveredVersion} - StrCpy $JabRefVersionVar ${JabRefVersion} - SectionEnd # ------------------------------------------- diff --git a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh index cddf0a8bd4..4bee196bff 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh @@ -205,14 +205,12 @@ Function RefreshRegUninst ReadRegStr $0 HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" - StrCpy $MiKTeXVersionVar ${MiKTeXDeliveredVersionOld} ${endif} # JabRef - ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${JabRefVersionOld}" "OnlyWithLyX" + ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" - WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${JabRefVersionOld}" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" - StrCpy $JabRefVersionVar ${JabRefVersionOld} + WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" ${endif} # Aiksaurus diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh b/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh index 5e6e6755dc..e602e37b6e 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh @@ -1,25 +1,44 @@ Function LaTeXActions - # tests if MiKTeX is installed - # reads the PATH variable via the registry because NSIS' "$%Path%" variable is not updated when the PATH changes - + # check if MiKTeX or TeXLive is installed + + # test if MiKTeX is installed + # reads the PATH variable via the registry because NSIS' "$%Path%" variable is not updated when the PATH changes ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" StrCpy $Search "miktex" Call LaTeXCheck # sets the path to the latex.exe to $LatexPath # Function from LyXUtils.nsh - # check if MiKTeX 2.4 or 2.5 is installed - StrCpy $String "" - ReadRegStr $String HKLM "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root" - ${if} $String != "" - StrCpy $MiKTeXVersion "2.4" # needed later for the configuration of MiKTeX - StrCpy $LaTeXName "MiKTeX 2.4" + + ${if} $LatexPath != "" + # check if MiKTeX 2.4, 2.5 or 2.6 is installed + ReadRegStr $String HKLM "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root" + ${if} $String != "" + StrCpy $MiKTeXVersion "2.4" # needed later for the configuration of MiKTeX + StrCpy $LaTeXName "MiKTeX 2.4" + ${endif} + # check if MiKTeX 2.5 or 2.6 is installed + StrCpy $0 0 + loopA: + EnumRegKey $1 HKLM "SOFTWARE\MiKTeX.org\MiKTeX" $0 # check the last subkey + StrCmp $1 "" doneA + StrCpy $String $1 + IntOp $0 $0 + 1 + Goto loopA + doneA: + ${if} $String == "2.5" + StrCpy $MiKTeXVersion "2.5" + StrCpy $LaTeXName "MiKTeX 2.5" + ${endif} + ${if} $String == "2.6" + StrCpy $MiKTeXVersion "2.6" + StrCpy $LaTeXName "MiKTeX 2.6" + ${endif} ${endif} ${if} $LatexPath == "" # check if MiKTeX is installed only for the current user - # check for MiKTeX 2.5 ReadRegStr $String HKCU "Environment" "Path" StrCpy $Search "miktex" Call LaTeXCheck # function from LyXUtils.nsh ${if} $LatexPath != "" - StrCpy $MiKTeXUser "HKCU" # needed later to for a message about MiKTeX's install folder write permissions, see InstallActions-*.nsh + StrCpy $MiKTeXUser "HKCU" # needed later to configure MiKTeX ${endif} # check for MiKTeX 2.4 StrCpy $String "" @@ -28,15 +47,29 @@ Function LaTeXActions StrCpy $MiKTeXVersion "2.4" StrCpy $LaTeXName "MiKTeX 2.4" ${endif} + # check for MiKTeX 2.5 and 2.6 + StrCpy $0 0 + loopB: + EnumRegKey $1 HKCU "SOFTWARE\MiKTeX.org\MiKTeX" $0 # check the last subkey + StrCmp $1 "" doneB + StrCpy $String $1 + IntOp $0 $0 + 1 + Goto loopB + doneB: + ${if} $String == "2.5" + StrCpy $MiKTeXVersion "2.5" + StrCpy $LaTeXName "MiKTeX 2.5" + ${endif} + ${if} $String == "2.6" + StrCpy $MiKTeXVersion "2.6" + StrCpy $LaTeXName "MiKTeX 2.6" + ${endif} ${endif} ${if} $LatexPath != "" StrCpy $MiKTeXInstalled "yes" - ${if} $LaTeXName != "MiKTeX 2.4" - StrCpy $LaTeXName "MiKTeX 2.5" - ${endif} ${endif} - + # test if TeXLive is installed # as described at TeXLives' homepage there should be an entry in the PATH ${if} $LatexPath == "" @@ -67,11 +100,54 @@ Function LaTeXActions ${if} $LatexPath != "" ${andif} $LaTeXName != "MiKTeX 2.4" ${andif} $LaTeXName != "MiKTeX 2.5" + ${andif} $LaTeXName != "MiKTeX 2.6" StrCpy $LaTeXName "TeXLive" ${endif} - + FunctionEnd +# ------------------------------------------- + +!if ${INSTALLER_VERSION} == "Complete" + + Function InstallMiKTeX + # install MiKTeX if not already installed + + ${if} $LatexPath == "" + # launch MiKTeX's installer + MessageBox MB_OK|MB_ICONINFORMATION "$(LatexInfo)" + ExecWait ${MiKTeXInstall} + # test if MiKTeX is installed + ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" + StrCpy $Search "miktex" + Call LaTeXCheck + ${if} $LatexPath == "" + StrCpy $MiKTeXUser "HKCU" + ReadRegStr $String HKCU "Environment" "Path" + StrCpy $Search "miktex" + Call LaTeXCheck + ${endif} + ${if} $LatexPath != "" + # set package repository (MiKTeX's primary package repository) + WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" # special entry to tell the uninstaller that it was installed with LyX + StrCpy $MiKTeXInstalled "yes" + StrCpy $MiKTeXVersion ${MiKTeXDeliveredVersion} + ${if} $MiKTeXUser != "HKCU" + StrCpy $MiKTeXPath "$LatexPath" -11 # delete "\miktex\bin" + #MessageBox MB_OK|MB_ICONINFORMATION "$(MiKTeXPathInfo)" # info that MiKTeX's installation folder must have write permissions for all users to work properly + ${endif} + ${else} + MessageBox MB_OK|MB_ICONSTOP "$(LatexError1)" + SetOutPath $TEMP # to be able to delete the $INSTDIR + RMDir /r $INSTDIR + Abort + ${endif} # endif $LatexPath != "" + ${endif} + + FunctionEnd + +!endif # endif ${INSTALLER_VERSION} == "Complete" + # ------------------------------ Function ConfigureMiKTeX @@ -103,9 +179,10 @@ Function ConfigureMiKTeX SetOutPath "$String\tex\latex\" # Should there be a final \ before "? File /r "${DVIPostFileDir}" + # refresh MiKTeX's file name database + ExecWait "$LaTeXPath\initexmf --update-fndb" + ${if} $MiKTeXVersion == "2.4" - # refresh MiKTeX's file name database - ExecWait "$String\miktex\bin\initexmf --update-fndb" # delete MiKTeX 2.4's dvipng executable as it is an old broken version. Then install a working one. Delete "$String\miktex\bin\dvipng.exe" # Install a new one @@ -116,21 +193,44 @@ Function ConfigureMiKTeX WriteRegStr HKCU "SOFTWARE\MiK\MiKTeX\CurrentVersion\MPM\Settings" "" "" # Setting package repository (MiKTeX's primary package repository) WriteRegStr HKCU "SOFTWARE\MiK\MiKTeX\CurrentVersion\MPM" "RemotePackageRepository" "${MiKTeXRepo}" + ${endif} - ${else} # if MiKTeX 2.5 - # refresh MiKTeX's file name database - ExecWait "$LaTeXPath\initexmf --update-fndb" + ${if} $MiKTeXVersion == "2.5" # enable package installation without asking (t = Yes, f = No) - WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\2.5\MPM" "AutoInstall" "1" # if only for curent user - WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_AUTOINSTALL" "t" + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_AUTOINSTALL" "t" + ${endif} # set package repository (MiKTeX's primary package repository) - WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\2.5\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user - WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\2.5\MPM" "RepositoryType" "remote" # if only for curent user - WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_REPOSITORY" "${MiKTeXRepo}" + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_REPOSITORY" "${MiKTeXRepo}" + ${endif} + ${endif} + + ${if} $MiKTeXVersion == "2.6" + # enable package installation without asking (t = Yes, f = No) + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1" # if only for curent user + ${endif} + # set package repository (MiKTeX's primary package repository) + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user + WriteRegStr SHCTX "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote" # if only for curent user + ${endif} ${endif} # enable MiKTeX's automatic package installation - ExecWait '$LaTeXPath\mpm.com --update-fndb' + ${if} $MiKTeXVersion == "2.4" + ${orif} $MiKTeXVersion == "2.5" + ExecWait '$LaTeXPath\mpm.com --update-fndb' + ${else} # if MiKTeX 2.6 + ExecWait '$LaTeXPath\mpm.exe --update-fndb' + ${endif} # the following feature is planned to be used for a possible CD-version # copy LaTeX-packages needed by LyX # SetOutPath "$INSTDIR" diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi index a646adfeb6..0c04d65b0c 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi +++ b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi @@ -59,10 +59,8 @@ Var AspellBaseReg Var AspellMessage Var ImageMagickPath Var JabRefInstalled -Var JabRefVersionVar Var LatexPath Var MiKTeXInstalled -Var MiKTeXVersionVar Var PythonPath Var Answer Var AppPre diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi index ef05935d2c..8944077e71 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi +++ b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi @@ -57,10 +57,8 @@ Var AspellBaseReg Var AspellMessage Var ImageMagickPath Var JabRefInstalled -Var JabRefVersionVar Var LatexPath Var MiKTeXInstalled -Var MiKTeXVersionVar Var PythonPath Var Answer Var AppPre diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi index 5a18848ca0..5027b8955c 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi +++ b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi @@ -43,10 +43,8 @@ Var AspellBaseReg Var AspellMessage Var ImageMagickPath Var JabRefInstalled -Var JabRefVersionVar Var LatexPath Var MiKTeXInstalled -Var MiKTeXVersionVar Var PythonPath Var Answer Var AppPre diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt index c7493775f8..0634faabe0 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt +++ b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt @@ -92,5 +92,5 @@ License (GPL). A package with the sourcecode can be found in the section "LyxWinInstallerSource" of http://developer.berlios.de/project/showfiles.php?group_id=5117 -The license files of all used pgrograms can be found in the subdirectory "bin" +The license files of all used programs can be found in the subdirectory "bin" of LyX's installation folder. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt index e15f69ca0e..cb3b37fb36 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt +++ b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt @@ -96,5 +96,5 @@ License (GPL). A package with the sourcecode can be found in the section "LyxWinInstallerSource" of http://developer.berlios.de/project/showfiles.php?group_id=5117 -The license files of all used pgrograms can be found in the subdirectory "bin" +The license files of all used programs can be found in the subdirectory "bin" of LyX's installation folder. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt new file mode 100644 index 0000000000..c2633b6ef8 --- /dev/null +++ b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt @@ -0,0 +1,32 @@ +Description + +This is the readme of the variant "update" of the LyXWinInstaller. Please read +this file carefully to prevent troubles with the installer. +The LyXWinInstaller installs the wordprocessor "LyX" (www.lyx.org) and some +needed programs on Windows 2000/XP/XPx64/Vista. +! Win95, Win98, and WinME are NOT supported. ! + +--- +General + +The installer variant "update" is designed to update existing an LyX installation. +It therefore only actualized some registry entries and updates the file that were +modified since the last LyX release. +Custom user settings and third party programs like ImageMagick are not touched. + +--- +Prerequisites + +You must have the last LyX-version installed, otherwise the update installer +quits with a varning about the wrong LyX version. + +--- +License + +The scripts of the LyXWinInstaller are released under the GNU General Public +License (GPL). A package with the sourcecode can be found +in the section "LyxWinInstallerSource" of +http://developer.berlios.de/project/showfiles.php?group_id=5117 + +The license files of all used programs can be found in the subdirectory "bin" +of LyX's installation folder. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh b/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh index 49f425cda6..bace455f2d 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh @@ -3,7 +3,7 @@ !define PRODUCT_DIR "D:\LyXPackage1.5" !define PRODUCT_NAME "LyX" -!define PRODUCT_VERSION "1.5beta3-14-05-2007" +!define PRODUCT_VERSION "1.5beta3-15-05-2007" !define PRODUCT_VERSION_SHORT "150svn" !define PRODUCT_SUBFOLDER "lyx15" !define PRODUCT_LICENSE_FILE "${PRODUCT_DIR}\License.txt" @@ -42,8 +42,8 @@ BrandingText "LyXWinInstaller v3.15 - ${INSTALLER_VERSION}" !define PRODUCT_VERSION_OLD "LyX 1.5svn-02-05-2007" !define PRODUCT_UNINSTALL_EXE_OLD "$INSTDIR\LyXWinUninstall.exe" !define PRODUCT_VERSION_SHORT_OLD "150svn" - !define JabRefVersionOld "JabRef 2.2" - !define MiKTeXDeliveredVersionOld "MiKTeX 2.5" + !define JabRefVersion "2.2" # could be an older version + !define MiKTeXDeliveredVersion "2.5" # could be an older version !endif # definitions for the Small installer @@ -56,14 +56,14 @@ BrandingText "LyXWinInstaller v3.15 - ${INSTALLER_VERSION}" !if ${INSTALLER_VERSION} == "Complete" !define GSviewInstall "external\gsv48w32.exe" !define JabRefInstall "external\JabRef-2.2-Setup.exe" - !define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.5.2580.exe" - !define JabRefVersion "JabRef 2.2" - !define MiKTeXDeliveredVersion "MiKTeX 2.5" + !define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.6.2675.exe" + !define JabRefVersion "2.2" + !define MiKTeXDeliveredVersion "2.6" !endif !define ClassFileDir "${PRODUCT_SOURCEDIR}\Resources\tex" -!define ImageMagickVersion "6.3.3" +!define ImageMagickVersion "6.3.4" # for some odd reason the ImageMagick folder may not be a subfolder of $INSTDIR\bin! !define ImageMagickDir "$INSTDIR\etc\ImageMagick" !define GhostscriptDir "$INSTDIR\etc\Ghostscript" @@ -82,7 +82,6 @@ BrandingText "LyXWinInstaller v3.15 - ${INSTALLER_VERSION}" # the following variable is needed for a possible CD-version #!define LaTeXPackagesDir "${PRODUCT_SOURCEDIR}\latex" !define MiKTeXRepo "ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/" -!define MiKTeXConfigFolder "MiKTeX\2.5\miktex\config" #-------------------------------- # make some of the information above available to NSIS. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh b/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh index adbb52eda4..bd7ad6de8b 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh @@ -43,6 +43,7 @@ Function un.onInit ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" SectionSetText 2 "Aspell" # names the corersponding uninstaller section (has the index "2" as it is the third section in Uninstall.nsh) StrCpy $AspellInstallYes "Aspell" + DeleteRegValue SHCTX "Software\Aspell" "OnlyWithLyX" # special entry to test if it was installed with LyX ${else} SectionSetText 2 "" # hides the corresponding uninstaller section ${endif} @@ -52,15 +53,17 @@ Function un.onInit ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" SectionSetText 3 "MiKTeX" # names the corersponding uninstaller section StrCpy $MiKTeXInstalled "MiKTeX" + DeleteRegValue HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" ${else} SectionSetText 3 "" # hides the corresponding uninstaller section ${endif} # test if JabRef was installed together with LyX - ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$JabRefVersionVar" "OnlyWithLyX" + ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" SectionSetText 4 "JabRef" # names the corersponding uninstaller section StrCpy $JabRefInstalled "JabRef" + DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" ${else} SectionSetText 4 "" # hides the corresponding uninstaller section ${endif} @@ -167,7 +170,7 @@ Section "un.LyX" un.SecUnProgramFiles ${endif} ${endif} - # MiKTeX specific LyX setting + # MiKTeX specific LyX setting !Can be deleted after LyX 1.5.0beta3! DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_AUTOINSTALL" DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_REPOSITORY" @@ -201,8 +204,8 @@ SectionEnd Section "un.MiKTeX" un.SecUnMiKTeX ${if} $MiKTeXInstalled == "MiKTeX" # only uninstall MiKTeX when it was installed together with LyX - ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$MiKTeXVersionVar" "UninstallString" - ExecWait "$1" # run MiKTeX's uninstaller + ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MiKTeX ${MiKTeXDeliveredVersion}" "UninstallString" + ExecWait $1 # run MiKTeX's uninstaller ${endif} SectionEnd @@ -212,7 +215,7 @@ SectionEnd Section "un.JabRef" un.SecUnJabRef ${if} $JabRefInstalled == "JabRef" # only uninstall JabRef when it was installed together with LyX - ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$JabRefVersionVar" "UninstallString" + ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "UninstallString" ExecWait "$1" # run JabRef's uninstaller ${endif} diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh b/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh index d16d1ffe06..787ae882bd 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh @@ -34,7 +34,9 @@ Function UpdateModifiedFiles SetOutPath "$INSTDIR\Resources\images" File /r "${PRODUCT_SOURCEDIR}\Resources\images\math" SetOutPath "$INSTDIR\Resources\layouts" + File "${PRODUCT_SOURCEDIR}\Resources\layouts\beamer.layout" File "${PRODUCT_SOURCEDIR}\Resources\layouts\simplecv.layout" + File "${PRODUCT_SOURCEDIR}\Resources\layouts\stdcounters.inc" SetOutPath "$INSTDIR\Resources\lyx2lyx" File "${PRODUCT_SOURCEDIR}\Resources\lyx2lyx\LyX.py" File "${PRODUCT_SOURCEDIR}\Resources\lyx2lyx\lyx_1_5.py" diff --git a/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg b/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg index 20e96a9aa3..4a1fae02b6 100644 Binary files a/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg and b/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg differ diff --git a/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.pdf b/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.pdf index d0069c31cd..518c3ea8f3 100644 Binary files a/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.pdf and b/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.pdf differ