The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit ea7cf4f5ebc555f36f5d306967e6d116dab82e4a
Author: Uwe Stöhr <uwesto...@lyx.org>
Date:   Sun Nov 11 07:12:43 2012 +0100

    installer: some registry and detection fixes
    
    - detection.nsh:
      - fixed detection of the LaTeX source file editors
      - removed support for obsolete LaTeX source file editors
    
    - init.nsh:
      - don't allow to install an older LyX version over a newer one
      - support dictionaries for new languages that will be supported by LyX 2.1
    
    - remove registry entries of current LyX version when installing a newer 
version over it

diff --git a/development/Win32/packaging/installer/ChangeLog.txt 
b/development/Win32/packaging/installer/ChangeLog.txt
new file mode 100644
index 0000000..5b9fa03
--- /dev/null
+++ b/development/Win32/packaging/installer/ChangeLog.txt
@@ -0,0 +1,37 @@
+Changelog for LyX-205-2:
+- the installer detects now existing spell-checker and thesaurus dictionaries
+  of existing LyX installations
+- fixed detection for already installed Ghostscript and GSview on 64bit Windows
+- fixed detection for jEdit, Vim, WinEdt and TeXnicCenter as LaTeX source file 
editor
+- fixed detection of Gimp and Photoshop as image manipulating program
+- updated spell-checker dictionaries for German and Belorussion
+  (To benefit from them you must uninstall an already installed LyX 2.0.x and
+   then use this installer.)
+- updated thesaurus for German
+  (need to uninstall to benefit from this)
+- bugfix: remove registry entries of existing LyX version when installing over 
it
+- don't allow to install an older LyX version over an existing newer one
+
+
+Changelog for LyX-205-1:
+- installs LyX 2.0.5
+- updated to Python 2.7.3
+- updated to ImageMagick 6.8.0-4
+- updated to Ghostscript 9.06
+
+
+Changelog for LyX-204-3:
+- renamed the proposed LyX installation folder to "LyX 2.0" instead of the 
former "LyX 2.0.4"
+  (reason: it should be default be possible to override existing older version 
of the LyX 2.0.x series)
+- link the LyX Wiki and website in LyX's start menu folder Changelog for 
LyX-204-2:
+- Prevent that LyX can first be installed with admin privileges and afterwards 
without them
+- In the uninstaller it is now the default not to uninstall the user 
preferences and settings
+- Fix the path in which the LyX start menu shortcut is executed - Also if LyX 
is installed without admin privileges, the .lyx file associations are set
+- Fix a typo in English translation
+
+
+Changelog for LyX-204-1:
+- It is now possible to install LyX also without administrator privileges.
+  (Note that the support for the image file formats WMF and EMF can only be 
installed if LyX is installed with administrator privileges.)
+- Added support for multiple indexes in LyX documents
+- Support to install spell checker and thesaurus dictionaries for all 
languages supported by LyX.
\ No newline at end of file
diff --git a/development/Win32/packaging/installer/include/detection.nsh 
b/development/Win32/packaging/installer/include/detection.nsh
index 574e2cd..d076302 100644
--- a/development/Win32/packaging/installer/include/detection.nsh
+++ b/development/Win32/packaging/installer/include/detection.nsh
@@ -38,8 +38,7 @@ FunctionEnd
 Function MissingPrograms
   # check if third-party programs are installed
 
-  # test if Ghostscript is installed
-  # Ghostscript is a mandatory program for LyX thus check all cases:
+  # test if Ghostscript is installed, check all cases:
   # 1. 32bit Windows
   # 2. 64bit Windows but 32bit Ghostscript
   # 3. 64bit Windows and 64bit Ghostscript
@@ -113,7 +112,7 @@ Function MissingPrograms
    ReadRegStr $PSVPath HKLM "Software\Microsoft\Windows\CurrentVersion\App 
Paths\gsview64.exe" "Path"
    SetRegView 32
   ${endif}
-  # repeat for case 2. and 3.
+  # repeat for case 1. and 2.
   ${if} $PSVPath == ""
    ReadRegStr $PSVPath HKLM "Software\Microsoft\Windows\CurrentVersion\App 
Paths\gsview32.exe" "Path"
   ${endif}
@@ -237,75 +236,57 @@ Function EditorCheck
   ${if} $EditorPath != ""
    StrCpy $EditorPath $EditorPath -1 # remove "\" from the end of the string
   ${endif}
-  ${if} ${RunningX64}
-   SetRegView 32
-  ${endif}
+  SetRegView 32
+  
   # check for PSPad
   StrCpy $0 ""
   ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\PSPad editor_is1" 
"InstallLocation"
   ${if} $0 != ""
-   StrCpy $0 $0 -1
+   StrCpy $0 $0 -1 # remove the "\"
    StrCpy $EditorPath "$EditorPath;$0"
   ${endif}
+  
   # check for WinShell
   StrCpy $0 ""
   ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\WinShell_is1" 
"InstallLocation"
   ${if} $0 != ""
-   StrCpy $0 $0 -1
+   StrCpy $0 $0 -1 # remove the "\"
    StrCpy $EditorPath "$EditorPath;$0"
   ${endif}
-  # check for ConTEXT
+  
+  # check for Vim which is a 64bit application on x64 Windows
   StrCpy $0 ""
-  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\ConTEXTEditor_is1" 
"InstallLocation"
-  ${if} $0 != ""
-   StrCpy $0 $0 -1
-   StrCpy $EditorPath "$EditorPath;$0"
+  ${if} ${RunningX64}
+   SetRegView 64
   ${endif}
-  # check for Crimson Editor
-  StrCpy $0 ""
-  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Crimson Editor" 
"UninstallString"
+  ReadRegStr $0 HKLM "Software\Vim\Gvim" "path"
   ${if} $0 != ""
-   StrCpy $0 $0 -14 # remove "\uninstall.exe"
+   StrCpy $0 $0 -9 # remove "\gvim.exe"
    StrCpy $EditorPath "$EditorPath;$0"
   ${endif}
-  # check for Vim 7.0
+  SetRegView 32
+  
+  # check for TeXnicCenter which can be a 64bit application on x64 Windows
   StrCpy $0 ""
-  ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 
7.0" "UninstallString"
-  ${if} $0 != ""
-   StrCpy $0 $0 -18 # remove "\uninstall-gui.exe"
-   StrCpy $EditorPath "$EditorPath;$0"
+  ${if} ${RunningX64}
+   SetRegView 64
   ${endif}
-  # check for TeXnicCenter
-  StrCpy $0 ""
-  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\TeXnicCenter_is1" "Inno 
Setup: App Path"
+  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\TeXnicCenter_is1" 
"InstallLocation"
   ${if} $0 != ""
+   StrCpy $0 $0 -1 # remove the "\"
    StrCpy $EditorPath "$EditorPath;$0"
-  ${endif}
-  # check for LaTeXEditor
-  StrCpy $0 ""
-  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\LaTeX Editor" 
"InstallLocation"
-  ${if} $0 != ""
+  ${else}
+   SetRegView 32
+   ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\TeXnicCenter_is1" 
"InstallLocation"
+   StrCpy $0 $0 -1 # remove the "\"
    StrCpy $EditorPath "$EditorPath;$0"
   ${endif}
+  SetRegView 32
+  
   # check for WinEdt
   StrCpy $0 ""
-  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\WinEdt_is1" 
"InstallLocation"
-  ${if} $0 != ""
-   StrCpy $0 $0 -1
-   StrCpy $EditorPath "$EditorPath;$0"
-  ${endif}
-  # check for LEd
-  StrCpy $0 ""
-  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\LEd_is1" "InstallLocation"
-  ${if} $0 != ""
-   StrCpy $0 $0 -1
-   StrCpy $EditorPath "$EditorPath;$0"
-  ${endif}
-  # check for WinTeX
-  StrCpy $0 ""
-  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\WinTeX XP" "DisplayIcon"
+  ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\WinEdt 7" "InstallLocation"
   ${if} $0 != ""
-   StrCpy $0 $0 -11 # remove "\wintex.exe"
    StrCpy $EditorPath "$EditorPath;$0"
   ${endif}
 
diff --git a/development/Win32/packaging/installer/include/init.nsh 
b/development/Win32/packaging/installer/include/init.nsh
index 6264e6c..7d296ff 100644
--- a/development/Win32/packaging/installer/include/init.nsh
+++ b/development/Win32/packaging/installer/include/init.nsh
@@ -255,6 +255,12 @@ Section /o "Magyar" SecDHungarian
  AddSize 3380
 SectionEnd
 
+# enable this for LyX 2.1!
+#Section /o "Hindi" SecDHindi
+# StrCpy $DictCodes "hi_IN,$DictCodes"
+# AddSize 1900
+#SectionEnd
+
 Section /o "Interlingua" SecDInterlingua
  StrCpy $DictCodes "ia_IA,$DictCodes"
  AddSize 649
@@ -310,6 +316,12 @@ Section /o "Norsk (Nynorsk)" SecDNorwegianNN
  AddSize 2890
 SectionEnd
 
+# enable this for LyX 2.1!
+#Section /o "Occitan" SecDOccitan
+# StrCpy $DictCodes "oc_FR,$DictCodes"
+# AddSize 31710
+#SectionEnd
+
 Section /o "Polski" SecDPolish
  StrCpy $DictCodes "pl_PL,$DictCodes"
  AddSize 4540
@@ -369,6 +381,18 @@ Section /o "Svenska" SecDSwedish
  StrCpy $DictCodes "sv_SE,$DictCodes"
  AddSize 1030
 SectionEnd
+
+# enable this for LyX 2.1!
+#Section /o "Tamil" SecDTamil
+# StrCpy $DictCodes "ta_IN,$DictCodes"
+# AddSize 5911
+#SectionEnd
+
+# enable this for LyX 2.1!
+#Section /o "Telugu" SecDTelugu
+# StrCpy $DictCodes "te_IN,$DictCodes"
+# AddSize 3400
+#SectionEnd
  
 Section /o "Thai" SecDThai
  StrCpy $DictCodes "th_TH,$DictCodes"
@@ -380,6 +404,12 @@ Section /o "Ukrainian" SecDUkrainian
  AddSize 2620
 SectionEnd
 
+# enable this for LyX 2.1!
+#Section /o "Urdu" SecDUrdu
+# StrCpy $DictCodes "ur_PK,$DictCodes"
+# AddSize 1401
+#SectionEnd
+
 Section /o "Vietnamese" SecDVietnamese
  StrCpy $DictCodes "vi_VN,$DictCodes"
  AddSize 40
@@ -387,6 +417,7 @@ SectionEnd
 
 SectionGroupEnd
 
+
 SectionGroup "Thesaurus" SecThesaurus
 
 Section /o "Bulgarian" SecTBulgarian
@@ -549,6 +580,8 @@ Function .onInit
    Abort
   ${endif}
 
+  !insertmacro MULTIUSER_INIT
+  
   # check if this LyX version is already installed
   ${if} $MultiUser.Privileges == "Admin"
   ${orif} $MultiUser.Privileges == "Power"
@@ -564,9 +597,33 @@ Function .onInit
    MessageBox MB_OK|MB_ICONSTOP "$(StillInstalled)"
    Abort
   ${endif}
+  
+  # check if there is an existing LyX installation of the same LyX series
+  # we usually don't release more than 10 versions so with 20 we are safe to 
check if a newer version is installed
+  IntOp $4 ${APP_VERSION_REVISION} + 20
+  ${for} $5 0 $4
+   ${if} $MultiUser.Privileges == "Admin"
+   ${orif} $MultiUser.Privileges == "Power"
+    ReadRegStr $0 HKLM 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}${APP_VERSION_MAJOR}${APP_VERSION_MINOR}$5"
 "DisplayVersion"
+   ${else}
+    ReadRegStr $0 HKCU 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}${APP_VERSION_MAJOR}${APP_VERSION_MINOR}$5"
 "DisplayVersion"
+   ${endif}
+   ${if} $0 != ""
+    StrCpy $R5 $0 # store the read version number
+    StrCpy $OldVersionNumber "${APP_VERSION_MAJOR}${APP_VERSION_MINOR}$5"
+    # we don't stop here because we want the latest installed version
+   ${endif} 
+  ${next}
+  ${if} $OldVersionNumber > ${APP_SERIES_KEY}
+   # store the version number and reformat it temporarily for the error message
+   StrCpy $R0 $OldVersionNumber
+   StrCpy $OldVersionNumber $R5
+   MessageBox MB_OK|MB_ICONSTOP "$(NewerInstalled)"
+   StrCpy $OldVersionNumber $R0
+   Abort
+  ${endif}
 
   !insertmacro PRINTER_INIT
-  !insertmacro MULTIUSER_INIT
   
   # this can be reset to "true" in section SecDesktop
   StrCpy $CreateDesktopIcon "false"
@@ -825,6 +882,14 @@ Function .onInit
    SectionSetFlags ${SecDHebrew} $0
    SectionSetSize ${SecDHebrew} 0
   ${endif}
+  StrCpy $Search "hi_IN"
+  Call StrPoint
+  ${if} $Pointer != "-1"
+   IntOp $0 ${SF_SELECTED} | ${SF_RO}
+ # enable this for LyX 2.1! 
+  # SectionSetFlags ${SecDHindi} $0
+  # SectionSetSize ${SecDHindi} 0
+  ${endif}
   StrCpy $Search "hr_HR"
   Call StrPoint
   ${if} $Pointer != "-1"
@@ -916,6 +981,14 @@ Function .onInit
    SectionSetFlags ${SecDNorwegianNN} $0
    SectionSetSize ${SecDNorwegianNN} 0
   ${endif}
+  StrCpy $Search "oc_FR"
+  Call StrPoint
+  ${if} $Pointer != "-1"
+   IntOp $0 ${SF_SELECTED} | ${SF_RO}
+ # enable this for LyX 2.1!  
+  # SectionSetFlags ${SecDOccitan} $0
+  # SectionSetSize ${SecDOccitan} 0
+  ${endif}
   StrCpy $Search "pl_PL"
   Call StrPoint
   ${if} $Pointer != "-1"
@@ -1000,6 +1073,22 @@ Function .onInit
    SectionSetFlags ${SecDSwedish} $0
    SectionSetSize ${SecDSwedish} 0
   ${endif}
+  StrCpy $Search "ta_IN"
+  Call StrPoint
+  ${if} $Pointer != "-1"
+   IntOp $0 ${SF_SELECTED} | ${SF_RO}
+ # enable this for LyX 2.1!
+  # SectionSetFlags ${SecDTamil} $0
+  # SectionSetSize ${SecDTamil} 0
+  ${endif}
+  StrCpy $Search "te_IN"
+  Call StrPoint
+  ${if} $Pointer != "-1"
+   IntOp $0 ${SF_SELECTED} | ${SF_RO}
+ # enable this for LyX 2.1!
+  # SectionSetFlags ${SecDTelugu} $0
+  # SectionSetSize ${SecDTelugu} 0
+  ${endif}
   StrCpy $Search "th_TH"
   Call StrPoint
   ${if} $Pointer != "-1"
@@ -1014,6 +1103,14 @@ Function .onInit
    SectionSetFlags ${SecDUkrainian} $0
    SectionSetSize ${SecDUkrainian} 0
   ${endif}
+  StrCpy $Search "ur_PK"
+  Call StrPoint
+  ${if} $Pointer != "-1"
+   IntOp $0 ${SF_SELECTED} | ${SF_RO}
+ # enable this for LyX 2.1!
+  # SectionSetFlags ${SecDUrdu} $0
+  # SectionSetSize ${SecDUrdu} 0
+  ${endif}
   StrCpy $Search "vi_VN"
   Call StrPoint
   ${if} $Pointer != "-1"
@@ -1228,11 +1325,11 @@ Function un.onInit
   !insertmacro UnAppPreSuff $AppPre $AppSuff # macro from LyXUtils.nsh
 
   # test if MiKTeX was installed together with LyX
-  ReadRegStr $0 HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX"
+  ReadRegStr $0 SHCTX "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX"
   ${if} $0 == "Yes${APP_SERIES_KEY}"
    SectionSetText 2 "MiKTeX" # names the corersponding uninstaller section
    StrCpy $LaTeXInstalled "MiKTeX"
-   DeleteRegValue HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX"
+   DeleteRegValue SHCTX "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX"
   ${else}
    SectionSetText 2 "" # hides the corresponding uninstaller section
   ${endif}
diff --git a/development/Win32/packaging/installer/include/variables.nsh 
b/development/Win32/packaging/installer/include/variables.nsh
index d96b0b6..c403fe8 100644
--- a/development/Win32/packaging/installer/include/variables.nsh
+++ b/development/Win32/packaging/installer/include/variables.nsh
@@ -38,6 +38,7 @@ Var LaTeXInstalled
 Var LilyPondPath
 Var MiKTeXUser
 Var MiKTeXVersion
+Var OldVersionNumber
 Var Pointer
 Var PSVPath
 Var PythonPath
diff --git a/development/Win32/packaging/installer/lang/english.nsh 
b/development/Win32/packaging/installer/lang/english.nsh
index 485e9b3..b9eea46 100644
--- a/development/Win32/packaging/installer/lang/english.nsh
+++ b/development/Win32/packaging/installer/lang/english.nsh
@@ -83,6 +83,8 @@ ${LangFileString} ModifyingConfigureFailed "Could not set 
'path_prefix' in the c
 #${LangFileString} RunConfigureFailed "Could not execute the configure script"
 ${LangFileString} InstallRunning "The installer is already running!"
 ${LangFileString} StillInstalled "LyX ${APP_SERIES_KEY2} is already installed! 
Deinstall LyX first."
+${LangFileString} NewerInstalled "You are trying to install an older version 
of LyX than what you have installed.$\r$\n\
+                                 If you really need this, you must uninstall 
the existing LyX $OldVersionNumber before."
 
 ${LangFileString} MultipleIndexesNotAvailable "The support for using several 
indexes in a document will not be available because$\r$\n\
                                               MiKTeX was installed with 
administrator privileges but you are installing LyX without them."
diff --git a/development/Win32/packaging/installer/setup/configure.nsh 
b/development/Win32/packaging/installer/setup/configure.nsh
index 29b4c13..7419415 100644
--- a/development/Win32/packaging/installer/setup/configure.nsh
+++ b/development/Win32/packaging/installer/setup/configure.nsh
@@ -51,6 +51,11 @@ Section -InstallData
   WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoRepair" 0x00000001
   WriteRegStr SHCTX ${APP_UNINST_KEY} "StartMenu" 
"$SMPROGRAMS\$StartmenuFolder"
   
+  # if we install over an existing version, remove the old uninstaller 
information
+  ${if} $OldVersionNumber != ""
+   DeleteRegKey SHCTX 
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber"
+  ${endif}
+  
 SectionEnd
 
 #--------------------------------

-----------------------------------------------------------------------

Summary of changes:
 .../Win32/packaging/installer/ChangeLog.txt        |   37 +++++++
 .../packaging/installer/include/detection.nsh      |   73 +++++---------
 .../Win32/packaging/installer/include/init.nsh     |  103 +++++++++++++++++++-
 .../packaging/installer/include/variables.nsh      |    1 +
 .../Win32/packaging/installer/lang/english.nsh     |    2 +
 .../Win32/packaging/installer/setup/configure.nsh  |    5 +
 6 files changed, 172 insertions(+), 49 deletions(-)
 create mode 100644 development/Win32/packaging/installer/ChangeLog.txt


hooks/post-receive
-- 
The LyX Source Repository

Reply via email to