Function SearchExternal
Call SearchLaTeX
Call SearchBibTeXEditor
- !ifndef BUNDLE_IMAGEMAGICK
- Call SearchImageMagick
- !endif
- !ifndef BUNDLE_GHOSTSCRIPT
- Call SearchGhostscript
- !endif
FunctionEnd
#--------------------------------
Var ReportReturn
Var CommandLineOutput
-Var LastChar
-Var PathLength
!macro SEARCH_MIKTEX25
Pop $ReportReturn
Pop $CommandLineOutput
- ${WordFind2X} $CommandLineOutput "BinDir: " "$\r" "+1" $PathLaTeX
- ${WordFind2X} $CommandLineOutput "CommonData: " "$\r" "+1" $PathLaTeXLocal # Local root
-
-!macroend
-
-!macro SEARCH_MIKTEX24 ROOTKEY
-
- ReadRegStr $PathLaTeX ${ROOTKEY} "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root"
-
- ${If} $PathLaTeX != ""
- StrCpy $LastChar $PathLaTeX 1 -1
-
- ${If} $LastChar == "\"
- # Trim backslash
- StrLen $PathLength $PathLaTeX
- IntOp $PathLength $PathLength - 1
- StrCpy $PathLaTeX $PathLaTeX $PathLength
+ ClearErrors
+ ${WordFind2X} $CommandLineOutput "BinDir: " "$\r" "E+1" $PathLaTeX
+ ${If} ${Errors}
+ ClearErrors
+ ${WordFind2X} $CommandLineOutput "CommonInstall: " "$\r" "E+1" $PathLaTeX
+ ${If} ${Errors}
+ StrCpy $PathLaTeX ""
+ ${Else}
+ StrCpy $PathLaTeX "$PathLaTeX\miktex\bin"
${EndIf}
-
- StrCpy $PathLaTeX "$PathLaTeX\miktex\bin"
-
- #Local root
- ReadRegStr $PathLaTeXLocal ${ROOTKEY} "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Local Root"
-
${EndIf}
-
-!macroend
-Function SearchLaTeX
-
- # Search where MikTeX is installed
-
- !insertmacro SEARCH_MIKTEX25
-
- ${IfNot} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
- !insertmacro SEARCH_MIKTEX24 HKCU
+ ClearErrors
+ ${WordFind2X} $CommandLineOutput "BinDir: " "$\r" "E+1" $PathLaTeX
+ ${If} ${Errors}
+ StrCpy $PathLaTeX ""
${EndIf}
- ${IfNot} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
- !insertmacro SEARCH_MIKTEX24 HKLM
+ ${If} $PathLatex == ""
+ ClearErrors
+ ${WordFind2X} $CommandLineOutput "CommonInstall: " "$\r" "E+1" $PathLaTeX
+ ${If} ${Errors}
+ StrCpy $PathLaTeX ""
+ ${Else}
+ StrCpy $PathLaTeX "$PathLaTeX\miktex\bin"
+ ${EndIf}
${EndIf}
- ${IfNot} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
- StrCpy $PathLateX ""
+ ${If} $PathLatex == ""
+ ClearErrors
+ ${WordFind2X} $CommandLineOutput "UserInstall: " "$\r" "E+1" $PathLaTeX
+ ${If} ${Errors}
+ StrCpy $PathLaTeX ""
+ ${Else}
+ StrCpy $PathLaTeX "$PathLaTeX\miktex\bin"
+ ${EndIf}
${EndIf}
-FunctionEnd
-
-#--------------------------------
-# Ghostscript
-
-!ifndef BUNDLE_GHOSTSCRIPT
-
-!insertmacro GetParent
-!insertmacro VersionCompare
-
-Var Counter
-Var EnumReturn
-Var CompareReturn
-Var AFPLVersion
-Var GPLVersion
+ # Local root
-Function SearchGhostscript
+ ClearErrors
+ ${WordFind2X} $CommandLineOutput "CommonData: " "$\r" "E+1" $PathLaTeXLocal
+ ${If} ${Errors}
+ StrCpy $PathLaTeXLocal ""
+ ${EndIf}
- # Search where Ghostscript is installed
-
- # Find the latest version of AFPL Ghostscript installed
-
- StrCpy $Counter 0
-
- ${do}
-
- EnumRegKey $EnumReturn HKLM "Software\AFPL Ghostscript" $Counter
-
- ${If} $EnumReturn != ""
- ${VersionCompare} $EnumReturn $AFPLVersion $CompareReturn
- ${If} $CompareReturn == "1"
- StrCpy $AFPLVersion $EnumReturn
- ${EndIf}
- IntOp $Counter $Counter + 1
- ${EndIf}
-
- ${loopuntil} $EnumReturn == ""
-
- # The same for GPL Ghostscript
-
- StrCpy $Counter 0
-
- ${do}
-
- EnumRegKey $EnumReturn HKLM "Software\GPL Ghostscript" $Counter
-
- ${If} $EnumReturn != ""
- ${VersionCompare} $EnumReturn $GPLVersion $CompareReturn
- ${If} $CompareReturn == "1"
- StrCpy $GPLVersion $EnumReturn
- ${EndIf}
- IntOp $Counter $Counter + 1
+ ${If} $PathLatex == ""
+ ClearErrors
+ ${WordFind2X} $CommandLineOutput "UserData: " "$\r" "E+1" $PathLaTeXLocal
+ ${If} ${Errors}
+ StrCpy $PathLaTeXLocal ""
${EndIf}
-
- ${loopuntil} $EnumReturn == ""
-
- # Take the latest one
- ${VersionCompare} $AFPLVersion $GPLVersion $CompareReturn
-
- ${If} $CompareReturn = 1
- # AFPL is newer
- ReadRegStr $PathGhostscript HKLM "Software\AFPL Ghostscript\$R3" "GS_DLL"
- ${Else}
- # GPL is newer or equal
- ReadRegStr $PathGhostscript HKLM "Software\GPL Ghostscript\$R4" "GS_DLL"
- ${EndIf}
-
- # Trim the DLL filename to get the path
- ${GetParent} $PathGhostscript $PathGhostscript
-
- ${IfNot} ${FileExists} "$PathGhostscript\${BIN_GHOSTSCRIPT}"
- StrCpy $PathGhostscript ""
${EndIf}
-
-FunctionEnd
-
-!endif
-
-#--------------------------------
-# ImageMagick
-!ifndef BUNDLE_IMAGEMAGICK
+!macroend
-Function SearchImageMagick
+Function SearchLaTeX
- # Search where ImageMagick is installed
- ReadRegStr $PathImageMagick HKLM "Software\ImageMagick\Current" "BinPath"
+ # Search where MikTeX is installed
- ${IfNot} ${FileExists} "$PathImageMagick\${BIN_IMAGEMAGICK}"
- StrCpy $PathImageMagick ""
+ !insertmacro SEARCH_MIKTEX25
+
+ ${IfNot} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
+ StrCpy $PathLateX ""
${EndIf}
FunctionEnd
-!endif
-
#--------------------------------
# JabRef