X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=win%2Fyaz.nsi;h=2e81a0b737c3aefc4c7d24fca5cd0273ab233ef5;hp=e59e56f21546fc53695524f9e092fd85c41d2056;hb=2b35fdfa5fd016e7a0c99b0cd0958c9ce8606ef9;hpb=d476a8f3c038ba61a22c56415d68bc3ab22102c6 diff --git a/win/yaz.nsi b/win/yaz.nsi index e59e56f..2e81a0b 100644 --- a/win/yaz.nsi +++ b/win/yaz.nsi @@ -1,6 +1,31 @@ -; $Id: yaz.nsi,v 1.3 2002-03-16 12:48:47 adam Exp $ +; This file is part of the YAZ toolkit. +; Copyright (C) Index Data +; See the file LICENSE for details. -!define VERSION "1.8.6" +!include version.nsi + +; Microsoft runtime CRT +; Uncomment exactly ONE of the sections 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" + +; 4: VS 2008 +;!define VS_RUNTIME_DLL "c:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvc*90.dll" +;!define VS_RUNTIME_MANIFEST "c:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" + + +!include "MUI.nsh" + +SetCompressor bzip2 Name "YAZ" Caption "Index Data YAZ ${VERSION} Setup" @@ -13,18 +38,33 @@ ComponentText "This will install the YAZ Toolkit on your computer:" InstType "Full (w/ Source)" InstType "Lite (w/o Source)" -; Some default compiler settings (uncomment and change at will): -; SetCompress auto ; (can be off or force) -; SetDatablockOptimize on ; (can be off) -; CRCCheck on ; (can be off) -; AutoCloseWindow false ; (can be true for the window go away automatically at end) -; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable) -; SetDateSave off ; (can be on to have files restored to their orginal date) - -InstallDir "$PROGRAMFILES\YAZ" InstallDirRegKey HKLM "SOFTWARE\Index Data\YAZ" "" -DirShow show ; (make this hide to not let the user change it) -DirText "Select the directory to install YAZ in:" + + +;---------------------------- +; Pages + + + !insertmacro MUI_PAGE_LICENSE "license.txt" + !insertmacro MUI_PAGE_COMPONENTS + !insertmacro MUI_PAGE_DIRECTORY + !insertmacro MUI_PAGE_INSTFILES + + !insertmacro MUI_UNPAGE_CONFIRM + !insertmacro MUI_UNPAGE_INSTFILES +; Page components +; Page directory +; Page instfiles + +; UninstPage uninstConfirm +; UninstPage instfiles + +;-------------------------------- +;Languages + +!insertmacro MUI_LANGUAGE "English" + +;-------------------------------- Section "" ; (default section) SetOutPath "$INSTDIR" @@ -34,25 +74,39 @@ Section "" ; (default section) WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\YAZ" "UninstallString" '"$INSTDIR\uninst.exe"' ; write out uninstaller WriteUninstaller "$INSTDIR\uninst.exe" -SectionEnd ; end of default section - -Section "yaz core (required)" - SectionIn 12 + SetOutPath $SMPROGRAMS\YAZ + CreateShortCut "$SMPROGRAMS\YAZ\YAZ Program Directory.lnk" \ + "$INSTDIR" + WriteINIStr "$SMPROGRAMS\YAZ\YAZ Home page.url" \ + "InternetShortcut" "URL" "http://www.indexdata.com/yaz/" + CreateShortCut "$SMPROGRAMS\YAZ\Uninstall YAZ.lnk" \ + "$INSTDIR\uninst.exe" SetOutPath $INSTDIR File LICENSE.txt File ..\README - SetOutPath $INSTDIR\bin - File ..\bin\*.exe - File ..\bin\*.dll + File ..\NEWS + SetOutPath $INSTDIR SetOutPath $INSTDIR\ztest - File ..\ztest\dummy-records File ..\ztest\dummy-grs File ..\ztest\dummy-words - SetOutPath $INSTDIR - File /r ..\tab + SetOutPath $INSTDIR\etc + File ..\etc\*.xml + File ..\etc\*.xsl + File ..\etc\pqf.properties + +SectionEnd ; end of default section + +Section "YAZ Runtime" YAZ_Runtime + SectionIn 1 2 + 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\*.dll + File ..\bin\*.exe SetOutPath $SMPROGRAMS\YAZ - CreateShortCut "$SMPROGRAMS\YAZ\YAZ Program Directory.lnk" \ - "$INSTDIR" CreateShortCut "$SMPROGRAMS\YAZ\YAZ Client.lnk" \ "$INSTDIR\bin\yaz-client.exe" SetOutPath $SMPROGRAMS\YAZ\Server @@ -62,66 +116,61 @@ Section "yaz core (required)" "$INSTDIR\bin\yaz-ztest.exe" '-installa tcp:@:210' CreateShortCut "$SMPROGRAMS\YAZ\Server\Remove Z39.50 service.lnk" \ "$INSTDIR\bin\yaz-ztest.exe" '-remove' - WriteINIStr "$SMPROGRAMS\YAZ\YAZ Home page.url" \ - "InternetShortcut" "URL" "http://www.indexdata.dk/yaz/" SectionEnd -Section "yaz development" - SectionIn 12 +Section "YAZ Development" YAZ_Development + SectionIn 1 2 SetOutPath $INSTDIR\include\yaz File ..\include\yaz\*.h SetOutPath $INSTDIR\lib - File ..\lib\*.lib + File ..\lib\yaz*.lib SectionEnd -Section "yaz documentation" - SectionIn 12 - SetOutPath $INSTDIR - File /r ..\doc +Section "YAZ Documentation" YAZ_Documentation + SectionIn 1 2 + SetOutPath $INSTDIR\doc + File /nonfatal /r ..\doc\*.css + File /nonfatal /r ..\doc\*.ent + File /nonfatal /r ..\doc\*.html + File /r ..\doc\*.xml + File /r ..\doc\*.png + File /nonfatal /r ..\doc\*.xsl SetOutPath $SMPROGRAMS\YAZ CreateShortCut "$SMPROGRAMS\YAZ\HTML Documentation.lnk" \ - "$INSTDIR\doc\yaz.html" - CreateShortCut "$SMPROGRAMS\YAZ\PDF Documentaion.lnk" \ - "$INSTDIR\doc\yaz.pdf" + "$INSTDIR\doc\index.html" SectionEnd -Section "yaz source" +Section "YAZ Source" YAZ_Source SectionIn 1 + SetOutPath $INSTDIR + File ..\IDMETA + File /r ..\*.c + File /r /x yaz ..\*.h SetOutPath $INSTDIR\util - File ..\util\*.c - File ..\util\*.tcl - SetOutPath $INSTDIR\odr - File ..\odr\*.c - SetOutPath $INSTDIR\z39.50 - File ..\z39.50\*.c - File ..\z39.50\*.asn - SetOutPath $INSTDIR\ill - File ..\ill\*.c - File ..\ill\*.asn - SetOutPath $INSTDIR\zutil - File ..\zutil\*.c - SetOutPath $INSTDIR\ccl - File ..\ccl\*.c - SetOutPath $INSTDIR\zoom - File ..\zoom\*.c - File ..\zoom\*.h - SetOutPath $INSTDIR\comstack - File ..\comstack\*.c - SetOutPath $INSTDIR\server - File ..\server\*.c - File ..\server\*.h - SetOutPath $INSTDIR\retrieval - File ..\retrieval\*.c - SetOutPath $INSTDIR\ztest - File ..\ztest\*.c - SetOutPath $INSTDIR\client - File ..\client\*.c - File ..\client\*.h + File ..\util\yaz-asncomp + SetOutPath $INSTDIR\src + File ..\src\*.y + File ..\src\*.tcl + File ..\src\*.csv + File ..\src\*.asn + File ..\src\codetables*.xml + SetOutPath $INSTDIR\test + File ..\test\marc*.* + File ..\test\*.sh + File ..\test\*.xml + File ..\test\*.asn SetOutPath $INSTDIR\win File makefile File *.nsi File *.rc - File *.h +SectionEnd + +Section "YAZ4J" YAZ4J + SectionIn 1 2 + SetOutPath $INSTDIR\bin + File ..\bin\yaz4j.dll + SetOutPath $INSTDIR\java + File ..\java\yaz4j.jar SectionEnd ; begin uninstall settings/section @@ -132,8 +181,32 @@ Section Uninstall Delete "$INSTDIR\uninst.exe" DeleteRegKey HKLM "SOFTWARE\Index Data\YAZ" DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YAZ" - RMDir /r "$INSTDIR" + ExecWait '"$INSTDIR\bin\yaz-ztest" -remove' RMDir /r $SMPROGRAMS\YAZ -SectionEnd ; end of uninstall section + RMDir /r $INSTDIR + IfFileExists $INSTDIR 0 Removed + MessageBox MB_OK|MB_ICONEXCLAMATION \ + "Note: $INSTDIR could not be removed." +Removed: +SectionEnd + +;-------------------------------- +;Descriptions + + ;Language strings +LangString DESC_YAZ_Runtime ${LANG_ENGLISH} "YAZ runtime files needed in order for YAZ to run, such as DLLs." +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." + +;Assign language strings to sections +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN +!insertmacro MUI_DESCRIPTION_TEXT ${YAZ_Runtime} $(DESC_YAZ_Runtime) +!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_FUNCTION_DESCRIPTION_END ; eof