]> git.lyx.org Git - features.git/commitdiff
installer:
authorUwe Stöhr <uwestoehr@web.de>
Tue, 15 May 2007 01:31:19 +0000 (01:31 +0000)
committerUwe Stöhr <uwestoehr@web.de>
Tue, 15 May 2007 01:31:19 +0000 (01:31 +0000)
- 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

17 files changed:
development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi [new file with mode: 0644]
development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt
development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh
development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh
development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh
development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh
development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi
development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi
development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi
development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt
development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt
development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt [new file with mode: 0644]
development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh
development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh
development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh
development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg
development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.pdf

diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi b/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi
new file mode 100644 (file)
index 0000000..04d8f37
--- /dev/null
@@ -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"'
+
index 22d501c7a32501529de2aa75e792f8274da79353..0ee0faa46d4f493ec6ce3bba510f4062cb675b32 100644 (file)
@@ -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
index 8adadc8a04e5431e973cfbc84e6aa563ab40410f..24b3d373d6460a3fc0a8fd0cc8f598fc5a401681 100644 (file)
@@ -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
index c4354b7d9076c45516b7cebc83f0bb14345ed84c..220550618144e8b292773335d842027f0be70637 100644 (file)
@@ -86,10 +86,6 @@ Section "-Installation actions" SecInstallation
   FileWrite $R1 '$LaTeXPath'
   FileClose $R1
 
-  # prepare variables for uninstaller
-  StrCpy $MiKTeXVersionVar ${MiKTeXDeliveredVersion}
-  StrCpy $JabRefVersionVar ${JabRefVersion}
-
 SectionEnd
 
 # -------------------------------------------
index cddf0a8bd492ceeddd2e2a3797c0733123504354..4bee196bffc1ec347ffb8628c35fd698b1c8a604 100644 (file)
@@ -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
index 5e6e6755dcc729094ea9e9c00d803272f6d22d18..e602e37b6e88b404504434bbdd65c36354de67f6 100644 (file)
@@ -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"
index a646adfeb6d24361795df91d0485e2b3eb75b335..0c04d65b0c7a40277a10ddc8d6c6eb444fcde475 100644 (file)
@@ -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
index ef05935d2c5a678cd7c042d6722e0dc63e0e2a09..8944077e715c943566c4dc25029b4cfafa106f95 100644 (file)
@@ -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
index 5a18848ca0fdf5f54f5b6d7c954c3a4726db6c62..5027b8955c53ef20bfa3d94d1cae34a903a205a1 100644 (file)
@@ -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
index c7493775f8a6c4ed36df113c934515698458b36a..0634faabe05dd7127fd7ca2ebb8e6c4233eef046 100644 (file)
@@ -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.
index e15f69ca0ed727d231b60d62a11d84236218358f..cb3b37fb3608478064ccde16ed87c1395c96831a 100644 (file)
@@ -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 (file)
index 0000000..c2633b6
--- /dev/null
@@ -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.
index 49f425cda6235fed17ea70389a9b3d6ff041c27e..bace455f2d24441579b4e68d5caf44d476374662 100644 (file)
@@ -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.
index adbb52eda4563a107a42a39ef2fda14ba572e9af..bd7ad6de8bbba58f1cef92812b3ce49fa145427f 100644 (file)
@@ -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}
 
index d16d1ffe0665b94dce04a8582f675dfc896663ec..787ae882bdc9796844b38517f33783818b59ebe5 100644 (file)
@@ -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"
index 20e96a9aa3ca43a0e2d911f22e06a8b47ad9ca1f..4a1fae02b6bb1a118acd0724c60eec53f94259be 100644 (file)
Binary files a/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg and b/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg differ
index d0069c31cd84b47b9b169d53b0c55d8b9c4865f9..518c3ea8f30d8201c7aa1c15e5e4da28a93c61b1 100644 (file)
Binary files a/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.pdf and b/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.pdf differ