X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=win%2Fyaz.nsi;h=1a315063fd14a8036e8b8fddb76d90833b266f15;hp=957cd166dd77c77b2986b0e3a3f7f2104cea590a;hb=cd6fda1153b27b8f1df87110c93a51c53f0655ea;hpb=e61253caa274993fbb46c38ea47495b611a1b8d6 diff --git a/win/yaz.nsi b/win/yaz.nsi index 957cd16..1a31506 100644 --- a/win/yaz.nsi +++ b/win/yaz.nsi @@ -1,21 +1,13 @@ -; $Id: yaz.nsi,v 1.116 2007-06-29 08:09:28 adam Exp $ +; This file is part of the YAZ toolkit. +; Copyright (C) Index Data +; See the file LICENSE for details. -!define VERSION "3.0.9" - -; Microsoft runtime CRT -; Uncomment exactly ONE section of the three below -; 1: MSVC 6 -!define VS_RUNTIME_DLL "" -!define VS_RUNTIME_MANIFEST "" - -; 2: VS 2003 -; !define VS_RUNTIME_DLL "c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\msvcr71.dll" -;!define VS_RUNTIME_MANIFEST "" - -; 3: VS 2005 -;!define VS_RUNTIME_DLL "c:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll" -;!define VS_RUNTIME_MANIFEST "c:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest" +!include EnvVarUpdate.nsh +!include version.nsi +; !define VS_REDIST_EXE "vcredist_x86.exe" +; !define VS_REDIST_FULL "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\1033\${VS_REDIST_EXE}" +; !define VS_REDIST_KEY "SOFTWARE\Microsoft\VisualStudio\12.0\VC\Runtimes\x86" !include "MUI.nsh" @@ -32,7 +24,6 @@ ComponentText "This will install the YAZ Toolkit on your computer:" InstType "Full (w/ Source)" InstType "Lite (w/o Source)" -InstallDir "$PROGRAMFILES\YAZ" InstallDirRegKey HKLM "SOFTWARE\Index Data\YAZ" "" @@ -73,7 +64,7 @@ Section "" ; (default section) CreateShortCut "$SMPROGRAMS\YAZ\YAZ Program Directory.lnk" \ "$INSTDIR" WriteINIStr "$SMPROGRAMS\YAZ\YAZ Home page.url" \ - "InternetShortcut" "URL" "http://www.indexdata.dk/yaz/" + "InternetShortcut" "URL" "http://www.indexdata.com/yaz/" CreateShortCut "$SMPROGRAMS\YAZ\Uninstall YAZ.lnk" \ "$INSTDIR\uninst.exe" SetOutPath $INSTDIR @@ -82,7 +73,6 @@ Section "" ; (default section) File ..\NEWS SetOutPath $INSTDIR SetOutPath $INSTDIR\ztest - File ..\ztest\dummy-records File ..\ztest\dummy-grs File ..\ztest\dummy-words SetOutPath $INSTDIR\etc @@ -94,17 +84,19 @@ SectionEnd ; end of default section Section "YAZ Runtime" YAZ_Runtime SectionIn 1 2 + SetOutPath $INSTDIR\bin +!if "${VS_REDIST_FULL}" != "" + File "${VS_REDIST_FULL}" + ReadRegStr $1 HKLM "${VS_REDIST_KEY}" "Installed" + StrCmp $1 1 installed_redist + ExecWait '"$INSTDIR\bin\${VS_REDIST_EXE}" /passive /nostart' +installed_redist: + Delete "$INSTDIR\bin\${VS_REDIST_EXE}" +!endif IfFileExists "$INSTDIR\bin\yaz-ztest.exe" 0 Noservice ExecWait '"$INSTDIR\bin\yaz-ztest.exe" -remove' Noservice: - SetOutPath $INSTDIR\bin - File "${VS_RUNTIME_DLL}" - File "${VS_RUNTIME_MANIFEST}" - File ..\bin\iconv.dll - File ..\bin\zlib1.dll - File ..\bin\libxml2.dll - File ..\bin\libxslt.dll - File ..\bin\yaz3.dll + File ..\bin\*.dll File ..\bin\*.exe SetOutPath $SMPROGRAMS\YAZ CreateShortCut "$SMPROGRAMS\YAZ\YAZ Client.lnk" \ @@ -123,18 +115,18 @@ Section "YAZ Development" YAZ_Development SetOutPath $INSTDIR\include\yaz File ..\include\yaz\*.h SetOutPath $INSTDIR\lib - File ..\lib\yaz3.lib + File ..\lib\yaz*.lib SectionEnd Section "YAZ Documentation" YAZ_Documentation SectionIn 1 2 SetOutPath $INSTDIR\doc - File /r ..\doc\*.css - File /r ..\doc\*.ent - File /r ..\doc\*.html + File /nonfatal /r ..\doc\*.css + File /nonfatal /r ..\doc\*.ent + File /nonfatal /r ..\doc\*.html File /r ..\doc\*.xml File /r ..\doc\*.png - File /r ..\doc\*.xsl + File /nonfatal /r ..\doc\*.xsl SetOutPath $SMPROGRAMS\YAZ CreateShortCut "$SMPROGRAMS\YAZ\HTML Documentation.lnk" \ "$INSTDIR\doc\index.html" @@ -143,6 +135,7 @@ SectionEnd Section "YAZ Source" YAZ_Source SectionIn 1 SetOutPath $INSTDIR + File ..\IDMETA File /r ..\*.c File /r /x yaz ..\*.h SetOutPath $INSTDIR\util @@ -152,7 +145,7 @@ Section "YAZ Source" YAZ_Source File ..\src\*.tcl File ..\src\*.csv File ..\src\*.asn - File ..\src\codetables.xml + File ..\src\codetables*.xml SetOutPath $INSTDIR\test File ..\test\marc*.* File ..\test\*.sh @@ -164,6 +157,19 @@ Section "YAZ Source" YAZ_Source File *.rc SectionEnd +Section "YAZ4J" YAZ4J + SectionIn 1 2 + SetOutPath $INSTDIR\bin + File /nonfatal ..\bin\yaz4j.dll + SetOutPath $INSTDIR\java + File /nonfatal ..\java\yaz4j.jar +SectionEnd + +Section "YAZ Path" YAZ_PATH + SectionIn 1 2 + ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\bin" +SectionEnd + ; begin uninstall settings/section UninstallText "This will uninstall YAZ ${VERSION} from your system" @@ -175,6 +181,7 @@ Section Uninstall ExecWait '"$INSTDIR\bin\yaz-ztest" -remove' RMDir /r $SMPROGRAMS\YAZ RMDir /r $INSTDIR + ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\bin" IfFileExists $INSTDIR 0 Removed MessageBox MB_OK|MB_ICONEXCLAMATION \ "Note: $INSTDIR could not be removed." @@ -189,6 +196,8 @@ LangString DESC_YAZ_Runtime ${LANG_ENGLISH} "YAZ runtime files needed in order f LangString DESC_YAZ_Development ${LANG_ENGLISH} "Header files and import libraries required for developing software using YAZ." LangString DESC_YAZ_Documentation ${LANG_ENGLISH} "YAZ Users' guide and reference in HTML. Describes both YAZ applications and the API." LangString DESC_YAZ_Source ${LANG_ENGLISH} "Source code of YAZ. Required if you need to rebuild YAZ (for debugging purposes)." +LangString DESC_YAZ4J ${LANG_ENGLISH} "Java wrapper for the ZOOM API of YAZ." +LangString DESC_YAZ_PATH ${LANG_ENGLISH} "Update PATH to include binaries of YAZ." ;Assign language strings to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN @@ -196,6 +205,8 @@ LangString DESC_YAZ_Source ${LANG_ENGLISH} "Source code of YAZ. Required if you !insertmacro MUI_DESCRIPTION_TEXT ${YAZ_Development} $(DESC_YAZ_Development) !insertmacro MUI_DESCRIPTION_TEXT ${YAZ_Documentation} $(DESC_YAZ_Documentation) !insertmacro MUI_DESCRIPTION_TEXT ${YAZ_Source} $(DESC_YAZ_Source) +!insertmacro MUI_DESCRIPTION_TEXT ${YAZ4J} $(DESC_YAZ4J) +!insertmacro MUI_DESCRIPTION_TEXT ${YAZ_PATH} $(DESC_YAZ_PATH) !insertmacro MUI_FUNCTION_DESCRIPTION_END ; eof