X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=win%2Fzebra.nsi;h=b43e67347f921d3ab8faacd5aab6896a7785835f;hb=HEAD;hp=f402683244e428705285e55e2722a9974eaedf4b;hpb=4fd652ea50465c7f90803ddedb7cea37893e372f;p=idzebra-moved-to-github.git diff --git a/win/zebra.nsi b/win/zebra.nsi index f402683..b43e673 100644 --- a/win/zebra.nsi +++ b/win/zebra.nsi @@ -1,15 +1,42 @@ -; $Id: zebra.nsi,v 1.30 2006-06-07 14:37:37 adam Exp $ +!include EnvVarUpdate.nsh +!include version.nsi +!include "MUI.nsh" -!define VERSION "1.4.0" +!define VS_REDIST_FULL "c:\Program Files (x86)\Microsoft Visual Studio ${VSVER}.0\VC\redist\1033\${VS_REDIST_EXE}" + +; For example can be found with regedit: +; Microsoft Visual C++ 2013 x86 Minimum Runtime +!if "${VSARCH}" = "x64" +; 64-bit +!if "${VSVER}" = "12" +!define VS_REDIST_KEY "SOFTWARE\Classes\Installer\Products\6E8D947A316B3EB3F8F540C548BE2AB9" +!endif +!if "${VSVER}" = "14" +; Microsoft Visual C++ 2015 x64 Minimum Runtime - 14.0.23026 +!define VS_REDIST_KEY "SOFTWARE\Classes\Installer\Products\51E9E3D0A7EDB003691F4BFA219B4688" +!endif + +InstallDir "$PROGRAMFILES64\Zebra" +!else +; 32-bit +!if "${VSVER}" = "12" +!define VS_REDIST_KEY "SOFTWARE\Classes\Installer\Products\21EE4A31AE32173319EEFE3BD6FDFFE3" +!endif +!if "${VSVER}" = "14" +; Microsoft Visual C++ 2015 x86 Minimum Runtime - 14.0.23026 +!define VS_REDIST_KEY "SOFTWARE\Classes\Installer\Products\55E3652ACEB38283D8765E8E9B8E6B57" +!endif -; Microsoft runtime CRT -; VS 2003 -; !define VS_RUNTIME "c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\msvcr71.dll" +InstallDir "$PROGRAMFILES\Zebra" +!endif -; VS 2005 -!define VS_RUNTIME "c:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll" +!if "${VSVER}" = "14" +!define VS_REDIST_EXE vc_redist.${VSARCH}.exe +!else +!define VS_REDIST_EXE vcredist_${VSARCH}.exe +!endif -!include "MUI.nsh" +RequestExecutionLevel admin SetCompressor bzip2 @@ -24,7 +51,6 @@ ComponentText "This will install Zebra on your computer:" InstType "Full (w/ Source)" InstType "Lite (w/o Source)" -InstallDir "$PROGRAMFILES\Zebra" InstallDirRegKey HKLM "SOFTWARE\Index Data\Zebra" "" ;-------------------------------- @@ -34,7 +60,7 @@ InstallDirRegKey HKLM "SOFTWARE\Index Data\Zebra" "" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES - + !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ; Page components @@ -46,7 +72,7 @@ InstallDirRegKey HKLM "SOFTWARE\Index Data\Zebra" "" ;-------------------------------- ;Languages - + !insertmacro MUI_LANGUAGE "English" ;-------------------------------- @@ -75,16 +101,21 @@ SectionEnd ; end of default section Section "Zebra Runtime" SectionIn 1 2 SetOutPath $INSTDIR\bin +!if "${VS_REDIST_FULL}" != "" + File "${VS_REDIST_FULL}" + ReadRegDword $1 HKLM "${VS_REDIST_KEY}" "Version" + ${If} $1 == "" + ExecWait '"$INSTDIR\bin\${VS_REDIST_EXE}" /passive /nostart' + ${endif} + Delete "$INSTDIR\bin\${VS_REDIST_EXE}" +!endif File ..\bin\*.exe - File ..\bin\*.manifest File ..\bin\idzebra.dll - File ..\bin\iconv.dll - File ..\bin\zlib1.dll File ..\bin\libxml2.dll File ..\bin\libxslt.dll - File ..\bin\yaz.dll + File ..\bin\yaz*.dll + File ..\bin\icu*.dll File ..\bin\libexpat.dll - File "${VS_RUNTIME}" SectionEnd Section "Zebra Development" @@ -100,7 +131,7 @@ SectionEnd Section "Zebra Documentation" SectionIn 1 2 SetOutPath $INSTDIR\doc - File /r ..\doc\*.html + File /nonfatal /r ..\doc\*.html File /r ..\doc\*.png File /r ..\doc\*.xml File /r ..\doc\*.xsl @@ -120,8 +151,11 @@ SectionEnd Section "Zebra Source" SectionIn 1 + SetOutPath $INSTDIR + File ..\IDMETA SetOutPath $INSTDIR\util File ..\util\*.c + File ..\util\*.tcl SetOutPath $INSTDIR\dfa File ..\dfa\*.c File ..\dfa\*.h @@ -137,9 +171,6 @@ Section "Zebra Source" File ..\isamb\*.c SetOutPath $INSTDIR\data1 File ..\data1\*.c - SetOutPath $INSTDIR\recctrl - File ..\recctrl\*.c - File ..\recctrl\*.h SetOutPath $INSTDIR\dict File ..\dict\*.c File ..\dict\*.h @@ -157,6 +188,11 @@ Section "Zebra Source" File *.txt SectionEnd +Section "Zebra Path" + SectionIn 1 2 + ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\bin" +SectionEnd + ; begin uninstall settings/section UninstallText "This will uninstall Zebra ${VERSION} from your system" @@ -168,7 +204,8 @@ Section Uninstall ExecWait '"$INSTDIR\bin\zebrasrv" -remove' RMDir /r "$SMPROGRAMS\Index Data\Zebra" RMDir /r $INSTDIR - IfFileExists $INSTDIR 0 Removed + ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\bin" + IfFileExists $INSTDIR 0 Removed MessageBox MB_OK|MB_ICONEXCLAMATION \ "Note: $INSTDIR could not be removed." Removed: