--- /dev/null
+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
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
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}
${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}
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
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
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"
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
SectionGroupEnd
+
SectionGroup "Thesaurus" SecThesaurus
Section /o "Bulgarian" SecTBulgarian
Abort
${endif}
+ !insertmacro MULTIUSER_INIT
+
# check if this LyX version is already installed
${if} $MultiUser.Privileges == "Admin"
${orif} $MultiUser.Privileges == "Power"
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"
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"
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"
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"
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"
!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}
Var LilyPondPath
Var MiKTeXUser
Var MiKTeXVersion
+Var OldVersionNumber
Var Pointer
Var PSVPath
Var PythonPath
#${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."
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
#--------------------------------