mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-12-12 23:49:06 +08:00
1006 lines
38 KiB
Plaintext
1006 lines
38 KiB
Plaintext
|
; (C) Copyright 2010, Sergey Bronnikov
|
||
|
; (C) Copyright 2010-2012, Zdenko Podobný
|
||
|
;
|
||
|
; Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
; you may not use this file except in compliance with the License.
|
||
|
; You may obtain a copy of the License at
|
||
|
; http://www.apache.org/licenses/LICENSE-2.0
|
||
|
; Unless required by applicable law or agreed to in writing, software
|
||
|
; distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
; See the License for the specific language governing permissions and
|
||
|
; limitations under the License.
|
||
|
|
||
|
SetCompressor /FINAL /SOLID lzma
|
||
|
;SetCompressor lzma
|
||
|
SetCompressorDictSize 32
|
||
|
|
||
|
!define VERSION 3.02.02
|
||
|
!define PRODUCT_NAME "Tesseract-OCR"
|
||
|
!define PRODUCT_VERSION "${VERSION}"
|
||
|
!define PRODUCT_PUBLISHER "Tesseract-OCR community"
|
||
|
!define PRODUCT_WEB_SITE "http://code.google.com/p/tesseract-ocr"
|
||
|
!define FILE_URL "http://tesseract-ocr.googlecode.com/files/"
|
||
|
|
||
|
# General Definitions
|
||
|
Name "${PRODUCT_NAME} ${VERSION} for Windows"
|
||
|
Caption "Tesseract-OCR ${VERSION}"
|
||
|
BrandingText /TRIMCENTER "(c) 2010-2012 Tesseract-OCR "
|
||
|
!define REGKEY "SOFTWARE\${PRODUCT_NAME}"
|
||
|
; HKLM (all users) vs HKCU (current user) defines
|
||
|
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
|
||
|
!define env_hkcu 'HKCU "Environment"'
|
||
|
|
||
|
# MultiUser Symbol Definitions
|
||
|
!define MULTIUSER_EXECUTIONLEVEL Admin
|
||
|
!define MULTIUSER_MUI
|
||
|
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY "${REGKEY}"
|
||
|
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME MultiUserInstallMode
|
||
|
!define MULTIUSER_INSTALLMODE_COMMANDLINE
|
||
|
!define MULTIUSER_INSTALLMODE_INSTDIR ${PRODUCT_NAME}
|
||
|
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "${REGKEY}"
|
||
|
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUE "Path"
|
||
|
|
||
|
# MUI Symbol Definitions
|
||
|
!define MUI_ABORTWARNING
|
||
|
!define MUI_COMPONENTSPAGE_SMALLDESC
|
||
|
!define MUI_HEADERIMAGE
|
||
|
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
|
||
|
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-blue-full.ico"
|
||
|
!define MUI_FINISHPAGE_LINK "http://code.google.com/p/tesseract-ocr/"
|
||
|
!define MUI_FINISHPAGE_LINK_LOCATION "http://code.google.com/p/tesseract-ocr/"
|
||
|
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
||
|
!define MUI_FINISHPAGE_SHOWREADME "notepad $INSTDIR\doc\README"
|
||
|
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION ShowReadme
|
||
|
!define MUI_LICENSEPAGE_CHECKBOX
|
||
|
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
|
||
|
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
|
||
|
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
|
||
|
!define MUI_STARTMENUPAGE_DEFAULTFOLDER ${PRODUCT_NAME}
|
||
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
|
||
|
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
|
||
|
!define MUI_WELCOMEPAGE_TITLE_3LINES
|
||
|
|
||
|
# Included files
|
||
|
!include MultiUser.nsh
|
||
|
!include Sections.nsh
|
||
|
!include MUI2.nsh
|
||
|
!include EnvVarUpdate.nsh
|
||
|
!include LogicLib.nsh
|
||
|
!include winmessages.nsh # include for some of the windows messages defines
|
||
|
|
||
|
# Variables
|
||
|
Var StartMenuGroup
|
||
|
Var PathKey
|
||
|
; Define user variables
|
||
|
Var OLD_KEY
|
||
|
|
||
|
# Installer pages
|
||
|
!insertmacro MUI_PAGE_WELCOME
|
||
|
!insertmacro MUI_PAGE_LICENSE "..\COPYING"
|
||
|
!insertmacro MULTIUSER_PAGE_INSTALLMODE
|
||
|
!ifdef VERSION
|
||
|
Page custom PageReinstall PageLeaveReinstall
|
||
|
!endif
|
||
|
!insertmacro MUI_PAGE_DIRECTORY
|
||
|
!insertmacro MUI_PAGE_COMPONENTS
|
||
|
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
|
||
|
!insertmacro MUI_PAGE_INSTFILES
|
||
|
!insertmacro MUI_PAGE_FINISH
|
||
|
!insertmacro MUI_UNPAGE_CONFIRM
|
||
|
!insertmacro MUI_UNPAGE_INSTFILES
|
||
|
|
||
|
# Languages
|
||
|
!insertmacro MUI_LANGUAGE "English"
|
||
|
!insertmacro MUI_LANGUAGE "Italian"
|
||
|
!insertmacro MUI_LANGUAGE "Russian"
|
||
|
!insertmacro MUI_LANGUAGE "Slovak"
|
||
|
!insertmacro MUI_LANGUAGE "Spanish"
|
||
|
!insertmacro MUI_LANGUAGE "SpanishInternational"
|
||
|
|
||
|
# Installer attributes
|
||
|
ShowInstDetails show
|
||
|
InstProgressFlags smooth colored
|
||
|
XPStyle on
|
||
|
SpaceTexts
|
||
|
CRCCheck on
|
||
|
InstProgressFlags smooth colored
|
||
|
CRCCheck On # Do a CRC check before installing
|
||
|
InstallDir "$PROGRAMFILES\Tesseract-OCR"
|
||
|
# Name of program and file
|
||
|
!ifdef VERSION
|
||
|
OutFile tesseract-ocr-setup-${VERSION}.exe
|
||
|
!else
|
||
|
OutFile tesseract-ocr-setup.exe
|
||
|
!endif
|
||
|
|
||
|
!macro AddToPath
|
||
|
# TODO(zdenop): Check if $INSTDIR is in path. If yes, that do not append it
|
||
|
# append bin path to user PATH environment variable
|
||
|
StrCpy $PathKey "HKLM"
|
||
|
StrCmp $MultiUser.InstallMode "AllUsers" +2
|
||
|
StrCpy $PathKey "HKCU"
|
||
|
DetailPrint "Setting PATH to $INSTDIR at $PathKey"
|
||
|
${EnvVarUpdate} $0 "PATH" "A" "$PathKey" "$INSTDIR"
|
||
|
; make sure windows knows about the change
|
||
|
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
||
|
!macroend
|
||
|
|
||
|
!macro RemoveTessdataPrefix
|
||
|
ReadRegStr $R2 ${env_hklm} 'TESSDATA_PREFIX'
|
||
|
ReadRegStr $R3 ${env_hkcu} 'TESSDATA_PREFIX'
|
||
|
StrCmp $R2 "" Next1 0
|
||
|
DetailPrint "Removing $R2 from HKLM Environment..."
|
||
|
DeleteRegValue ${env_hklm} TESSDATA_PREFIX # This only empty variable, but do not remove it!
|
||
|
${EnvVarUpdate} $0 "TESSDATA_PREFIX" "R" "HKLM" $R1
|
||
|
Next1:
|
||
|
StrCmp $R3 "" Next2 0
|
||
|
DetailPrint "Removing $R3 from HKCU Environment..."
|
||
|
DeleteRegValue ${env_hkcu} "TESSDATA_PREFIX"
|
||
|
Next2:
|
||
|
# make sure windows knows about the change
|
||
|
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
||
|
!macroend
|
||
|
|
||
|
!macro SetTESSDATA
|
||
|
!insertmacro RemoveTessdataPrefix
|
||
|
StrCpy $PathKey "HKLM"
|
||
|
StrCmp $MultiUser.InstallMode "AllUsers" +2
|
||
|
StrCpy $PathKey "HKCU"
|
||
|
DetailPrint "Setting TESSDATA_PREFIX at $PathKey"
|
||
|
${EnvVarUpdate} $0 "TESSDATA_PREFIX" "A" "$PathKey" "$INSTDIR\"
|
||
|
# make sure windows knows about the change
|
||
|
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
||
|
!macroend
|
||
|
|
||
|
!macro Download_Lang_Data Lang
|
||
|
IfFileExists $TEMP/${Lang} dlok
|
||
|
;StrCpy $1 ${Lang}
|
||
|
;StrCpy $2 "$INSTDIR\tessdata\$1"
|
||
|
;inetc::get /caption "Downloading $1" /popup "" "${FILE_URL}/$1" $2 /end
|
||
|
inetc::get /caption "Downloading ${Lang}" /popup "" "${FILE_URL}/${Lang}" $TEMP/${Lang} /end
|
||
|
Pop $0 # return value = exit code, "OK" if OK
|
||
|
StrCmp $0 "OK" dlok
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "http download error. Download Status of ${Lang}: $0. Click OK to continue." /SD IDOK
|
||
|
Goto error
|
||
|
dlok:
|
||
|
DetailPrint "Extracting ${Lang}"
|
||
|
untgz::extract "-j" "-d" "$INSTDIR\tessdata\" "$TEMP/${Lang}"
|
||
|
# tarbal has to be created with option --old-archive otherwise there will be error
|
||
|
# untgz::extract failed because of checksum
|
||
|
error:
|
||
|
Delete "$TEMP\${Lang}"
|
||
|
!macroend
|
||
|
|
||
|
!macro Download_Leptonica DataUrl
|
||
|
IfFileExists $TEMP/leptonica.zip dlok
|
||
|
inetc::get /caption "Downloading $1" /popup "" ${DataUrl} $TEMP/leptonica.zip /end
|
||
|
Pop $R0 # return value = exit code, "OK" if OK
|
||
|
StrCmp $R0 "OK" dlok
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "http download error. Download Status of $1: $R0. Click OK to continue." /SD IDOK
|
||
|
Goto error
|
||
|
dlok:
|
||
|
nsisunz::UnzipToLog "$TEMP/leptonica.zip" "$INSTDIR"
|
||
|
Pop $R0
|
||
|
StrCmp $R0 "success" +2
|
||
|
MessageBox MB_OK "Decompression of leptonica failed: $R0"
|
||
|
Goto error
|
||
|
error:
|
||
|
Delete "$TEMP\leptonica.zip"
|
||
|
!macroend
|
||
|
|
||
|
!macro Download_Lang_Data_gz Lang
|
||
|
;IfFileExists $TEMP/${Lang} dlok
|
||
|
StrCpy $1 ${Lang}
|
||
|
StrCpy $2 "$INSTDIR\tessdata\$1"
|
||
|
inetc::get /caption "Downloading $1" /popup "" "http://tesseract-ocr.googlecode.com/files/$1" $2 /end
|
||
|
Pop $0 # return value = exit code, "OK" if OK
|
||
|
StrCmp $0 "OK" dlok
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "http download error. Download Status of $1: $0. Click OK to continue." /SD IDOK
|
||
|
Goto error
|
||
|
dlok:
|
||
|
ExecWait '"$INSTDIR\gzip.exe" -d "$2"'
|
||
|
error:
|
||
|
!macroend
|
||
|
|
||
|
!macro Download_Data2 Filename Komp
|
||
|
IfFileExists $TEMP/${Filename} dlok
|
||
|
inetc::get /caption "Downloading $1" /popup "" "${FILE_URL}/${Filename}" $TEMP/${Filename} /end
|
||
|
Pop $R0 # return value = exit code, "OK" if OK
|
||
|
StrCmp $R0 "OK" dlok
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "http download error. Download Status of $1: $R0. Click OK to continue." /SD IDOK
|
||
|
Goto error
|
||
|
dlok:
|
||
|
${If} ${Komp} == "tgz"
|
||
|
DetailPrint "Extracting ${Filename}"
|
||
|
untgz::extract "-d" "$INSTDIR\.." "$TEMP\${Filename}"
|
||
|
Goto install
|
||
|
${EndIf}
|
||
|
${If} ${Komp} == "zip"
|
||
|
DetailPrint "Extracting ${Filename}"
|
||
|
nsisunz::UnzipToLog "$TEMP\${Filename}" "$INSTDIR\"
|
||
|
Goto install
|
||
|
${EndIf}
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "Unsupported compression!"
|
||
|
install:
|
||
|
Pop $R0
|
||
|
StrCmp $R0 "success" +3
|
||
|
MessageBox MB_OK "Decompression of ${Filename} failed: $R0"
|
||
|
Goto error
|
||
|
Delete "$TEMP\${Filename}"
|
||
|
error:
|
||
|
!macroend
|
||
|
|
||
|
!macro Download_Data Filename Komp
|
||
|
IfFileExists $TEMP/${Filename} dlok
|
||
|
inetc::get /caption "Downloading $1" /popup "" "${FILE_URL}/${Filename}" $TEMP/${Filename} /end
|
||
|
Pop $R0 # return value = exit code, "OK" if OK
|
||
|
StrCmp $R0 "OK" dlok
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "http download error. Download Status of $1: $R0. Click OK to continue." /SD IDOK
|
||
|
Goto end
|
||
|
dlok:
|
||
|
${If} ${Komp} == "tgz"
|
||
|
untgz::extract "-d" "$INSTDIR" "$TEMP\${Filename}"
|
||
|
Goto install
|
||
|
${EndIf}
|
||
|
${If} ${Komp} == "zip"
|
||
|
nsisunz::UnzipToLog "$TEMP\${Filename}" "$INSTDIR"
|
||
|
Goto install
|
||
|
${EndIf}
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "Unsupported compression!"
|
||
|
install:
|
||
|
Pop $R0
|
||
|
StrCmp $R0 "success" +3
|
||
|
MessageBox MB_OK "Decompression of ${Filename} failed: $R0"
|
||
|
Goto end
|
||
|
Delete "$TEMP\${Filename}"
|
||
|
${If} ${Komp} == "zip"
|
||
|
Goto end
|
||
|
${EndIf}
|
||
|
CopyFiles "$TEMP\Tesseract-OCR\*" "$INSTDIR"
|
||
|
RMDir /r "$TEMP\Tesseract-OCR"
|
||
|
end:
|
||
|
!macroend
|
||
|
|
||
|
Section -Main SEC0000
|
||
|
; mark as read only component
|
||
|
SectionIn RO
|
||
|
SetOutPath "$INSTDIR"
|
||
|
# files included in distribution
|
||
|
File LIB_Release\tesseract.exe
|
||
|
File gzip.exe
|
||
|
File tar.exe
|
||
|
CreateDirectory "$INSTDIR\java"
|
||
|
SetOutPath "$INSTDIR\java"
|
||
|
File ..\java\ScrollView.jar
|
||
|
CreateDirectory "$INSTDIR\tessdata"
|
||
|
CreateDirectory "$INSTDIR\tessdata\configs"
|
||
|
SetOutPath "$INSTDIR\tessdata\configs"
|
||
|
File ..\tessdata\configs\ambigs.train
|
||
|
File ..\tessdata\configs\api_config
|
||
|
File ..\tessdata\configs\bigram
|
||
|
File ..\tessdata\configs\box.train
|
||
|
File ..\tessdata\configs\box.train.stderr
|
||
|
File ..\tessdata\configs\digits
|
||
|
File ..\tessdata\configs\hocr
|
||
|
File ..\tessdata\configs\inter
|
||
|
File ..\tessdata\configs\kannada
|
||
|
File ..\tessdata\configs\linebox
|
||
|
File ..\tessdata\configs\logfile
|
||
|
File ..\tessdata\configs\makebox
|
||
|
File ..\tessdata\configs\quiet
|
||
|
File ..\tessdata\configs\rebox
|
||
|
File ..\tessdata\configs\strokewidth
|
||
|
File ..\tessdata\configs\unlv
|
||
|
CreateDirectory "$INSTDIR\tessdata\tessconfigs"
|
||
|
SetOutPath "$INSTDIR\tessdata\tessconfigs"
|
||
|
File ..\tessdata\tessconfigs\batch
|
||
|
File ..\tessdata\tessconfigs\batch.nochop
|
||
|
File ..\tessdata\tessconfigs\matdemo
|
||
|
File ..\tessdata\tessconfigs\msdemo
|
||
|
File ..\tessdata\tessconfigs\nobatch
|
||
|
File ..\tessdata\tessconfigs\segdemo
|
||
|
CreateDirectory "$INSTDIR\doc"
|
||
|
SetOutPath "$INSTDIR\doc"
|
||
|
File ..\AUTHORS
|
||
|
File ..\COPYING
|
||
|
File ..\eurotext.tif
|
||
|
File ..\phototest.tif
|
||
|
File ..\README
|
||
|
File ..\ReleaseNotes
|
||
|
SectionEnd
|
||
|
|
||
|
Section "Traning Tools" SecTr
|
||
|
SectionIn 1
|
||
|
SetOutPath "$INSTDIR"
|
||
|
File LIB_Release\cntraining.exe
|
||
|
File LIB_Release\combine_tessdata.exe
|
||
|
File LIB_Release\mftraining.exe
|
||
|
File LIB_Release\unicharset_extractor.exe
|
||
|
File LIB_Release\wordlist2dawg.exe
|
||
|
File LIB_Release\classifier_tester.exe
|
||
|
File LIB_Release\dawg2wordlist.exe
|
||
|
File LIB_Release\ambiguous_words.exe
|
||
|
File LIB_Release\shapeclustering.exe
|
||
|
SectionEnd
|
||
|
|
||
|
Section -post SEC0001
|
||
|
;Store installation folder - we use allways HKLM!
|
||
|
WriteRegStr HKLM "${REGKEY}" "Path" "$INSTDIR"
|
||
|
WriteRegStr HKLM "${REGKEY}" "Mode" $MultiUser.InstallMode
|
||
|
WriteRegStr HKLM "${REGKEY}" "InstallDir" "$INSTDIR"
|
||
|
WriteRegStr HKLM "${REGKEY}" "CurrentVersion" "${VERSION}"
|
||
|
WriteRegStr HKLM "${REGKEY}" "Uninstaller" "$INSTDIR\uninstall.exe"
|
||
|
;WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "Tesseract-OCR" "$INSTDIR\tesseract.exe"
|
||
|
; Register to Add/Remove program in control panel
|
||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayName" "${PRODUCT_NAME} - open source OCR engine"
|
||
|
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" DisplayVersion "${VERSION}"
|
||
|
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" Publisher "${PRODUCT_PUBLISHER}"
|
||
|
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" URLInfoAbout "${PRODUCT_WEB_SITE}"
|
||
|
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayIcon" "$INSTDIR\uninstall.exe"
|
||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString" "$INSTDIR\uninstall.exe"
|
||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "QuietUninstallString" '"$INSTDIR\uninstall.exe" /S'
|
||
|
WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" NoModify 1
|
||
|
WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" NoRepair 1
|
||
|
;Create uninstaller
|
||
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||
|
;ExecShell "open" "http://code.google.com/p/tesseract-ocr/"
|
||
|
;ExecShell "open" '"$INSTDIR"'
|
||
|
;BringToFront
|
||
|
SectionEnd
|
||
|
|
||
|
Section "Shortcuts creation" SecCS
|
||
|
SetOutPath $INSTDIR
|
||
|
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Console.lnk" $WINDIR\system32\CMD.EXE
|
||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Homepage.lnk" "${PRODUCT_WEB_SITE}"
|
||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\ReadMe.lnk" "${PRODUCT_WEB_SITE}/wiki/ReadMe"
|
||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\FAQ.lnk" "${PRODUCT_WEB_SITE}/wiki/FAQ"
|
||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
||
|
;CreateShortCut "$DESKTOP\Tesseract-OCR.lnk" "$INSTDIR\tesseract.exe" "" "$INSTDIR\tesseract.exe" 0
|
||
|
;CreateShortCut "$QUICKLAUNCH\.lnk" "$INSTDIR\tesseract.exe" "" "$INSTDIR\tesseract.exe" 0
|
||
|
SectionEnd
|
||
|
|
||
|
SectionGroup "Registry setttings" SecRS
|
||
|
Section "Add to Path" SecRS_path
|
||
|
!insertmacro AddToPath
|
||
|
SectionEnd
|
||
|
Section "Set TESSDATA_PREFIX variable" SecRS_tessdata
|
||
|
!insertmacro SetTESSDATA
|
||
|
SectionEnd
|
||
|
SectionGroupEnd
|
||
|
|
||
|
SectionGroup "Tesseract development files" SecGrp_dev
|
||
|
Section /o "Download and install tesseract libraries including header files" SecLang_tlib
|
||
|
!insertmacro Download_Data2 tesseract-ocr-3.02.02-win32-lib-include-dirs.zip zip
|
||
|
CopyFiles $INSTDIR\lib\libtesseract*.dll $INSTDIR\ ; $INSTDIR is in the path!
|
||
|
Delete $INSTDIR\lib\libtesseract*.dll
|
||
|
SectionEnd
|
||
|
Section /o "Download and install leptonica 1.68 libraries including header files" SecLang_llib
|
||
|
!insertmacro Download_Leptonica http://leptonica.org/source/leptonica-1.68-win32-lib-include-dirs.zip
|
||
|
CopyFiles $INSTDIR\lib\liblept*.dll $INSTDIR\ ; move to path
|
||
|
Delete $INSTDIR\lib\liblept*.dll
|
||
|
SectionEnd
|
||
|
Section /o "Download and install VC++ 2008 tesseract API example solution" SecLang_example
|
||
|
!insertmacro Download_Data2 tesseract-ocr-API-Example-vs2008.zip zip
|
||
|
SectionEnd
|
||
|
Section /o "Download and install tesseract source code" SecLang_source
|
||
|
!insertmacro Download_Data tesseract-ocr-3.02.02.tar.gz tgz
|
||
|
SectionEnd
|
||
|
Section /o "Download and install VS C++ 2008 solution for tesseract" SecLang_vs2008
|
||
|
!insertmacro Download_Data tesseract-ocr-3.02-vs2008.zip zip
|
||
|
SectionEnd
|
||
|
Section /o "Download and install doxygen documentation for tesseract" SecLang_doxygen
|
||
|
!insertmacro Download_Data tesseract-ocr-3.02.02-doc-html.tar.gz tgz
|
||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\DoxygenDoc.lnk" "$INSTDIR\tesseract-ocr\doc\html\index.html"
|
||
|
SectionEnd
|
||
|
SectionGroupEnd
|
||
|
|
||
|
; Download language files
|
||
|
SectionGroup "Language data" SecGrp_LD
|
||
|
Section "English language data" SecLang_eng
|
||
|
SectionIn RO
|
||
|
SetOutPath "$INSTDIR\tessdata"
|
||
|
File ..\tessdata\eng.*
|
||
|
SectionEnd
|
||
|
|
||
|
Section "Orientation and script detection data" SecLang_osd
|
||
|
SectionIn 1
|
||
|
SetOutPath "$INSTDIR\tessdata"
|
||
|
File ..\tessdata\osd.*
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Math / equation detection module" SecLang_equ
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.equ.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Afrikaans language data" SecLang_afr
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.afr.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Albanian language data" SecLang_sqi
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.sqi.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Arabic language data" SecLang_ara
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ara.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Azerbaijani language data" SecLang_aze
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.aze.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Basque language data" SecLang_eus
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.eus.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Belarusian language data" SecLang_bel
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.bel.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Bengali language data" SecLang_ben
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ben.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Bulgarian language data" SecLang_bul
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.bul.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Catalan language data" SecLang_cat
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.cat.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Cherokee language data" SecLang_chr
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.chr.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Chinese (Traditional) language data" SecLang_chi_tra
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.chi_tra.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Chinese (Simplified) language data" SecLang_chi_sim
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.chi_sim.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Croatian language data" SecLang_hrv
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.hrv.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Czech language data" SecLang_ces
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ces.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Danish language data" SecLang_dan
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.dan.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Danish (Fraktur) language data" SecLang_dan_frak
|
||
|
!insertmacro Download_Lang_Data_gz dan-frak.traineddata.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Dutch language data" SecLang_nld
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.nld.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install English - Middle (1100-1500) language data" SecLang_enm
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.enm.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Esperanto language data" SecLang_epo
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.epo.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Estonian language data" SecLang_est
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.est.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install German language data" SecLang_deu
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.deu.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install German (Fraktur) language data" SecLang_deu_frak
|
||
|
!insertmacro Download_Lang_Data_gz deu-frak.traineddata.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Greek language data" SecLang_ell
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ell.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Greek - Ancient language data" SecLang_grc
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.grc.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Finnish language data" SecLang_fin
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.fin.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Frankish language data" SecLang_frk
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.frk.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install French language data" SecLang_fra
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.fra.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install French - Middle(ca. 1400-1600) language data" SecLang_frm
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.frm.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Hebrew language data" SecLang_heb
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.heb.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Hebrew (community traning) language data" SecLang_heb_com
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.01.heb-com.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Hindi language data" SecLang_hin
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.hin.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Hungarian language data" SecLang_hun
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.hun.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Icelandic language data" SecLang_isl
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.isl.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Indonesian language data" SecLang_ind
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ind.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Italian language data" SecLang_ita
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ita.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Italian (Old) language data" SecLang_ita_old
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ita_old.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Japanese language data" SecLang_jpn
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.jpn.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Kannada language data" SecLang_kan
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.kan.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Korean language data" SecLang_kor
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.kor.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Latvian language data" SecLang_lav
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.lav.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Lithuanian language data" SecLang_lit
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.lit.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Macedonian language data" SecLang_mkd
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.mkd.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Malay language data" SecLang_msa
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.msa.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Malayalam language data" SecLang_mal
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.mal.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Maltese language data" SecLang_mlt
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.mlt.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Norwegian language data" SecLang_nor
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.nor.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Polish language data" SecLang_pol
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.pol.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Portuguese language data" SecLang_por
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.por.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Romanian language data" SecLang_ron
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ron.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Russian language data" SecLang_rus
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.rus.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Slovak language data" SecLang_slk
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.slk.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Slovak (Fraktur) language data" SecLang_slk_frak
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.slk_frak.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Slovenian language data" SecLang_slv
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.slv.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Spanish language data" SecLang_spa
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.spa.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Spanish (Old) language data" SecLang_spa_old
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.spa_old.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Serbian language data" SecLang_srp
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.srp.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Swahili language data" SecLang_swa
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.swa.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Swedish language data" SecLang_swe
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.swe.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Swedish (Fraktur) language data" SecLang_swe_frak
|
||
|
!insertmacro Download_Lang_Data_gz swe-frak.traineddata.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Tagalog language data" SecLang_tgl
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.tgl.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Tamil language data" SecLang_tam
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.tam.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Telugu language data" SecLang_tel
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.tel.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Thai language data" SecLang_tha
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.tha.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Turkish language data" SecLang_tur
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.tur.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Ukrainian language data" SecLang_ukr
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.ukr.tar.gz
|
||
|
SectionEnd
|
||
|
|
||
|
Section /o "Download and install Vietnamese language data" SecLang_vie
|
||
|
!insertmacro Download_Lang_Data tesseract-ocr-3.02.vie.tar.gz
|
||
|
SectionEnd
|
||
|
SectionGroupEnd
|
||
|
|
||
|
;--------------------------------
|
||
|
;Descriptions
|
||
|
; At first we need to localize installer for languages which supports well in tesseract: Eng, Spa, Ger, Ita, Dutch + Russian (it is authors native language)
|
||
|
;Language strings
|
||
|
LangString DESC_SEC0001 ${LANG_RUSSIAN} "Установочные файлы."
|
||
|
;LangString DESC_SecHelp ${LANG_RUSSIAN} "Справочная информация."
|
||
|
LangString DESC_SecCS ${LANG_RUSSIAN} "Добавить ярлыки в меню Пуск"
|
||
|
|
||
|
LangString DESC_SEC0001 ${LANG_ENGLISH} "Installation files."
|
||
|
;LangString DESC_SecHelp ${LANG_ENGLISH} "Help information."
|
||
|
LangString DESC_SecCS ${LANG_ENGLISH} "Add shortcuts to Start menu."
|
||
|
|
||
|
LangString DESC_SEC0001 ${LANG_ITALIAN} "File di installazione."
|
||
|
;LangString DESC_SecHelp ${LANG_ITALIAN} "Guida di informazioni."
|
||
|
LangString DESC_SecCS ${LANG_ITALIAN} "Aggiungere collegamenti al menu Start."
|
||
|
|
||
|
LangString DESC_SEC0001 ${LANG_SLOVAK} "Súbory inštalácie."
|
||
|
;LangString DESC_SecHelp ${LANG_ENGLISH} "Pomocné informácie."
|
||
|
LangString DESC_SecCS ${LANG_SLOVAK} "Pridať odkaz do Start menu."
|
||
|
|
||
|
LangString DESC_SEC0001 ${LANG_SPANISH} "Los archivos de instalación."
|
||
|
;LangString DESC_SecHelp ${LANG_SPANISH} "Información de ayuda."
|
||
|
LangString DESC_SecCS ${LANG_SPANISH} "Ańadir accesos directos al menú Inicio."
|
||
|
|
||
|
LangString DESC_SEC0001 ${LANG_SPANISHINTERNATIONAL} "Los archivos de instalación."
|
||
|
;LangString DESC_SecHelp ${LANG_SPANISHINTERNATIONAL} "Información de ayuda."
|
||
|
LangString DESC_SecCS ${LANG_SPANISHINTERNATIONAL} "Ańadir accesos directos al menú Inicio."
|
||
|
|
||
|
;Assign language strings to sections
|
||
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC0001} $(DESC_SEC0001)
|
||
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecCS} $(DESC_SecCS)
|
||
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||
|
|
||
|
;--------------------------------
|
||
|
;Uninstaller Section
|
||
|
|
||
|
;Section /o -un.Main UNSEC0000
|
||
|
Section -un.Main UNSEC0000
|
||
|
DetailPrint "Removing everything"
|
||
|
Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
|
||
|
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
||
|
DetailPrint "Removing registry info"
|
||
|
DeleteRegKey HKLM "Software\Tesseract-OCR"
|
||
|
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
||
|
${un.EnvVarUpdate} $0 "PATH" "R" HKLM $INSTDIR
|
||
|
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
||
|
DeleteRegValue HKLM "Environment" "TESSDATA_PREFIX"
|
||
|
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
|
||
|
|
||
|
# remove the Add/Remove information
|
||
|
DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||
|
Delete "$INSTDIR\Uninstall.exe"
|
||
|
DeleteRegValue HKLM "${REGKEY}" Path
|
||
|
DeleteRegKey /IfEmpty HKLM "${REGKEY}\Components"
|
||
|
DeleteRegKey /IfEmpty HKLM "${REGKEY}"
|
||
|
RMDir /r "$INSTDIR"
|
||
|
SectionEnd
|
||
|
|
||
|
Function PageReinstall
|
||
|
|
||
|
FunctionEnd
|
||
|
|
||
|
Function PageLeaveReinstall
|
||
|
|
||
|
FunctionEnd
|
||
|
|
||
|
!macro REMOVE_REGKEY OLD_KEY
|
||
|
StrCmp ${OLD_KEY} HKLM 0 +3
|
||
|
DeleteRegKey HKLM "${REGKEY}"
|
||
|
Goto End
|
||
|
DeleteRegKey HKCU "${REGKEY}"
|
||
|
End:
|
||
|
!macroend
|
||
|
|
||
|
Function .onInit
|
||
|
Call PreventMultipleInstances
|
||
|
;RequestExecutionLevel admin
|
||
|
!insertmacro MULTIUSER_INIT
|
||
|
|
||
|
; is tesseract already installed?
|
||
|
ReadRegStr $R0 HKCU "${REGKEY}" "CurrentVersion"
|
||
|
StrCpy $OLD_KEY HKCU
|
||
|
StrCmp $R0 "" test1 test2
|
||
|
test1:
|
||
|
ReadRegStr $R0 HKLM "${REGKEY}" "CurrentVersion"
|
||
|
StrCpy $OLD_KEY HKLM
|
||
|
StrCmp $R0 "" SkipUnInstall
|
||
|
test2:
|
||
|
MessageBox MB_YESNO|MB_ICONEXCLAMATION "Tesseract-ocr version $R0 is installed (in $OLD_KEY)! Do you want to uninstall it first?$\nUninstall will delete all files in '$INSTDIR'!" \
|
||
|
/SD IDYES IDNO SkipUnInstall IDYES UnInstall
|
||
|
UnInstall:
|
||
|
StrCmp $OLD_KEY "HKLM" UnInst_hklm
|
||
|
DetailPrint "CurrentUser:"
|
||
|
readRegStr $R1 HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString"
|
||
|
Goto try_uninstall
|
||
|
UnInst_hklm:
|
||
|
DetailPrint "UnInst_hklm"
|
||
|
readRegStr $R1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString"
|
||
|
try_uninstall:
|
||
|
ClearErrors
|
||
|
ExecWait '$R1 _?=$INSTDIR'$0
|
||
|
StrCmp $0 0 0 +3 ; Check if unstaller finished ok. If yes, than try to remove it from installer
|
||
|
!insertmacro REMOVE_REGKEY ${OLD_KEY}
|
||
|
Goto SkipUnInstall
|
||
|
messagebox mb_ok "Uninstaller failed:\n$0\n\nYou need to remove program manually."
|
||
|
SkipUnInstall:
|
||
|
MessageBox MB_YESNO|MB_ICONQUESTION "Do you want to install ${PRODUCT_NAME} ${VERSION}?" \
|
||
|
/SD IDYES IDNO no IDYES yes
|
||
|
no:
|
||
|
SetSilent silent
|
||
|
Goto done
|
||
|
yes:
|
||
|
;InitPluginsDir
|
||
|
;File /oname=$PLUGINSDIR\splash.bmp "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"
|
||
|
;File /oname=$PLUGINSDIR\splash.bmp "new.bmp"
|
||
|
;advsplash::show 1000 600 400 -1 $PLUGINSDIR\splash
|
||
|
;Pop $0 ; $0 has '1' if the user closed the splash screen early,
|
||
|
; '0' if everything closed normal, and '-1' if some error occured.
|
||
|
;IfFileExists $INSTDIR\loadmain.exe PathGood
|
||
|
done:
|
||
|
; Make selection based on System language ID
|
||
|
System::Call 'kernel32::GetSystemDefaultLangID() i .r0'
|
||
|
;http://msdn.microsoft.com/en-us/library/dd318693%28v=VS.85%29.aspx
|
||
|
StrCmp $0 "1078" Afrikaans
|
||
|
StrCmp $0 "1052" Albanian
|
||
|
StrCmp $0 "5121" Arabic
|
||
|
StrCmp $0 "1068" Azerbaijani
|
||
|
StrCmp $0 "1069" Basque
|
||
|
StrCmp $0 "1059" Belarusian
|
||
|
StrCmp $0 "1093" Bengali
|
||
|
StrCmp $0 "1026" Bulgarian
|
||
|
StrCmp $0 "1027" Catalan
|
||
|
StrCmp $0 "1116" Cherokee
|
||
|
StrCmp $0 "31748" Chinese_tra
|
||
|
StrCmp $0 "4" Chinese_sim
|
||
|
StrCmp $0 "26" Croatian
|
||
|
StrCmp $0 "1029" Czech
|
||
|
StrCmp $0 "1030" Danish
|
||
|
StrCmp $0 "2067" Dutch
|
||
|
StrCmp $0 "1061" Estonian
|
||
|
StrCmp $0 "3079" German
|
||
|
StrCmp $0 "1032" Greek
|
||
|
StrCmp $0 "1035" Finnish
|
||
|
StrCmp $0 "2060" French
|
||
|
StrCmp $0 "1037" Hebrew
|
||
|
StrCmp $0 "1081" Hindi
|
||
|
StrCmp $0 "1038" Hungarian
|
||
|
StrCmp $0 "1039" Icelandic
|
||
|
StrCmp $0 "1057" Indonesian
|
||
|
StrCmp $0 "1040" Italian
|
||
|
StrCmp $0 "1041" Japanese
|
||
|
StrCmp $0 "1099" Kannada
|
||
|
StrCmp $0 "1042" Korean
|
||
|
StrCmp $0 "1062" Latvian
|
||
|
StrCmp $0 "1063" Lithuanian
|
||
|
StrCmp $0 "1071" Macedonian
|
||
|
StrCmp $0 "1100" Malayalam
|
||
|
StrCmp $0 "2110" Malay
|
||
|
StrCmp $0 "1082" Maltese
|
||
|
StrCmp $0 "1044" Norwegian
|
||
|
StrCmp $0 "1045" Polish
|
||
|
StrCmp $0 "1046" Portuguese
|
||
|
StrCmp $0 "1048" Romanian
|
||
|
StrCmp $0 "1049" Russian
|
||
|
StrCmp $0 "1051" Slovak
|
||
|
StrCmp $0 "1060" Slovenian
|
||
|
StrCmp $0 "11274" Spanish
|
||
|
StrCmp $0 "2074" Serbian
|
||
|
StrCmp $0 "1089" Swahili
|
||
|
StrCmp $0 "2077" Swedish
|
||
|
StrCmp $0 "1097" Tamil
|
||
|
StrCmp $0 "1098" Telugu
|
||
|
StrCmp $0 "1054" Thai
|
||
|
StrCmp $0 "1055" Turkish
|
||
|
StrCmp $0 "1058" Ukrainian
|
||
|
StrCmp $0 "1066" Vietnamese
|
||
|
|
||
|
Goto lang_end
|
||
|
|
||
|
Afrikaans: !insertmacro SelectSection ${SecLang_afr}
|
||
|
Goto lang_end
|
||
|
Albanian: !insertmacro SelectSection ${SecLang_sqi}
|
||
|
Goto lang_end
|
||
|
Arabic: !insertmacro SelectSection ${SecLang_ara}
|
||
|
Goto lang_end
|
||
|
Azerbaijani: !insertmacro SelectSection ${SecLang_aze}
|
||
|
Goto lang_end
|
||
|
Basque: !insertmacro SelectSection ${SecLang_eus}
|
||
|
Goto lang_end
|
||
|
Belarusian: !insertmacro SelectSection ${SecLang_bel}
|
||
|
Goto lang_end
|
||
|
Bengali: !insertmacro SelectSection ${SecLang_ben}
|
||
|
Goto lang_end
|
||
|
Bulgarian: !insertmacro SelectSection ${SecLang_bul}
|
||
|
Goto lang_end
|
||
|
Catalan: !insertmacro SelectSection ${SecLang_cat}
|
||
|
Goto lang_end
|
||
|
Cherokee: !insertmacro SelectSection ${SecLang_chr}
|
||
|
Goto lang_end
|
||
|
Chinese_tra: !insertmacro SelectSection ${SecLang_chi_tra}
|
||
|
Goto lang_end
|
||
|
Chinese_sim: !insertmacro SelectSection ${SecLang_chi_sim}
|
||
|
Goto lang_end
|
||
|
Croatian: !insertmacro SelectSection ${SecLang_hrv}
|
||
|
Goto lang_end
|
||
|
Czech: !insertmacro SelectSection ${SecLang_ces}
|
||
|
Goto lang_end
|
||
|
Danish: !insertmacro SelectSection ${SecLang_dan}
|
||
|
!insertmacro SelectSection ${SecLang_dan_frak}
|
||
|
Goto lang_end
|
||
|
Dutch: !insertmacro SelectSection ${SecLang_nld}
|
||
|
Goto lang_end
|
||
|
Estonian: !insertmacro SelectSection ${SecLang_hrv}
|
||
|
Goto lang_end
|
||
|
German: !insertmacro SelectSection ${SecLang_deu}
|
||
|
!insertmacro SelectSection ${SecLang_deu_frak}
|
||
|
Goto lang_end
|
||
|
Greek: !insertmacro SelectSection ${SecLang_ell}
|
||
|
!insertmacro SelectSection ${SecLang_grc}
|
||
|
Goto lang_end
|
||
|
Finnish: !insertmacro SelectSection ${SecLang_fin}
|
||
|
!insertmacro SelectSection ${SecLang_frm}
|
||
|
Goto lang_end
|
||
|
French: !insertmacro SelectSection ${SecLang_fra}
|
||
|
Goto lang_end
|
||
|
Hebrew: !insertmacro SelectSection ${SecLang_heb}
|
||
|
!insertmacro SelectSection ${SecLang_heb_com}
|
||
|
Goto lang_end
|
||
|
Hungarian: !insertmacro SelectSection ${SecLang_hin}
|
||
|
Goto lang_end
|
||
|
Hindi: !insertmacro SelectSection ${SecLang_hun}
|
||
|
Goto lang_end
|
||
|
Icelandic: !insertmacro SelectSection ${SecLang_isl}
|
||
|
Goto lang_end
|
||
|
Indonesian: !insertmacro SelectSection ${SecLang_ind}
|
||
|
Goto lang_end
|
||
|
Italian: !insertmacro SelectSection ${SecLang_ita}
|
||
|
!insertmacro SelectSection ${SecLang_ita_old}
|
||
|
Goto lang_end
|
||
|
Japanese: !insertmacro SelectSection ${SecLang_jpn}
|
||
|
Goto lang_end
|
||
|
Kannada: !insertmacro SelectSection ${SecLang_kan}
|
||
|
Goto lang_end
|
||
|
Korean: !insertmacro SelectSection ${SecLang_kor}
|
||
|
Goto lang_end
|
||
|
Latvian: !insertmacro SelectSection ${SecLang_lav}
|
||
|
Goto lang_end
|
||
|
Lithuanian: !insertmacro SelectSection ${SecLang_lit}
|
||
|
Goto lang_end
|
||
|
Macedonian: !insertmacro SelectSection ${SecLang_mkd}
|
||
|
Goto lang_end
|
||
|
Malayalam: !insertmacro SelectSection ${SecLang_msa}
|
||
|
Goto lang_end
|
||
|
Malay: !insertmacro SelectSection ${SecLang_mal}
|
||
|
Goto lang_end
|
||
|
Maltese: !insertmacro SelectSection ${SecLang_mlt}
|
||
|
Goto lang_end
|
||
|
Norwegian: !insertmacro SelectSection ${SecLang_nor}
|
||
|
Goto lang_end
|
||
|
Polish: !insertmacro SelectSection ${SecLang_pol}
|
||
|
Goto lang_end
|
||
|
Portuguese: !insertmacro SelectSection ${SecLang_por}
|
||
|
Goto lang_end
|
||
|
Romanian: !insertmacro SelectSection ${SecLang_ron}
|
||
|
Goto lang_end
|
||
|
Russian: !insertmacro SelectSection ${SecLang_rus}
|
||
|
Goto lang_end
|
||
|
Slovak: !insertmacro SelectSection ${SecLang_slk}
|
||
|
!insertmacro SelectSection ${SecLang_slk_frak}
|
||
|
Goto lang_end
|
||
|
Slovenian: !insertmacro SelectSection ${SecLang_slv}
|
||
|
Goto lang_end
|
||
|
Spanish: !insertmacro SelectSection ${SecLang_spa}
|
||
|
!insertmacro SelectSection ${SecLang_spa_old}
|
||
|
Goto lang_end
|
||
|
Serbian: !insertmacro SelectSection ${SecLang_srp}
|
||
|
Goto lang_end
|
||
|
Swahili: !insertmacro SelectSection ${SecLang_swa}
|
||
|
Goto lang_end
|
||
|
Swedish: !insertmacro SelectSection ${SecLang_swe}
|
||
|
!insertmacro SelectSection ${SecLang_swe_frak}
|
||
|
Goto lang_end
|
||
|
Tamil: !insertmacro SelectSection ${SecLang_tam}
|
||
|
Goto lang_end
|
||
|
Telugu: !insertmacro SelectSection ${SecLang_tel}
|
||
|
Goto lang_end
|
||
|
Thai: !insertmacro SelectSection ${SecLang_tha}
|
||
|
Goto lang_end
|
||
|
Turkish: !insertmacro SelectSection ${SecLang_tur}
|
||
|
Goto lang_end
|
||
|
Ukrainian: !insertmacro SelectSection ${SecLang_ukr}
|
||
|
Goto lang_end
|
||
|
Vietnamese: !insertmacro SelectSection ${SecLang_vie}
|
||
|
|
||
|
lang_end:
|
||
|
FunctionEnd
|
||
|
|
||
|
Function un.onInit
|
||
|
!insertmacro MULTIUSER_UNINIT
|
||
|
;!insertmacro SELECT_UNSECTION Main ${UNSEC0000}
|
||
|
;!insertmacro MUI_UNGETLANGUAGE
|
||
|
FunctionEnd
|
||
|
|
||
|
Function .onInstFailed
|
||
|
MessageBox MB_OK "Installation failed."
|
||
|
FunctionEnd
|
||
|
|
||
|
Function ShowReadme
|
||
|
Exec "explorer.exe $INSTDIR\doc\README"
|
||
|
;BringToFront
|
||
|
FunctionEnd
|
||
|
|
||
|
; Prevent running multiple instances of the installer
|
||
|
Function PreventMultipleInstances
|
||
|
Push $R0
|
||
|
System::Call 'kernel32::CreateMutexA(i 0, i 0, t ${PRODUCT_NAME}) ?e'
|
||
|
Pop $R0
|
||
|
StrCmp $R0 0 +3
|
||
|
MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK
|
||
|
Abort
|
||
|
Pop $R0
|
||
|
FunctionEnd
|
||
|
|