The easiest way to install YAZ on Windows is by downloading an installer from here. The installer comes with source too - in case you wish to compile YAZ with different Compiler options etc.

Compiling from Source on WIN32

YAZ is shipped with "makefiles" for the NMAKE tool that comes with Microsoft Visual C++. Version 6 has been tested. We expect that YAZ should compile with version 5 as well.

Start a command prompt and switch the sub directory WIN where the file makefile is located. Customize the installation by editing the makefile file (for example by using notepad). The following summarizes the most important settings in that file:

When satisfied with the settings in the makefile, type

If command nmake is not found on your system you probably haven't defined the environment variables required to use that tool. To fix that, find and run the batch file vcvars32.bat. You need to run it from within the command prompt or set the environment variables "globally"; otherwise it doesn't work.

If you wish to recompile YAZ - for example if you modify settings in the makefile you can delete object files, etc by running.

      nmake clean

The following files are generated upon successful compilation:


YAZ multi-threaded Dynamic Link Library.


Import library for yaz.dll.


YAZ Z39.50 client application. It's a WIN32 console application. See chapter YAZ client for more information.


Z39.50 multi-threaded test/example server. It's a WIN32 console application.


Simple console application implemented on top of the ZOOM functions. The application is a command line shell that allows you to enter simple commands to perform ZOOM operations.

bin/zoomtst1.exe, bin/zoomtst2.exe, ..

Several small applications that demonstrates the ZOOM API.

How to make apps using YAZ on WIN32

This section will go though the process of linking your WIN32 applications with YAZ.

Some people are confused by the fact that we use the nmake tool to build YAZ. They think they have to do that too - in order to make their WIN32 applications work with YAZ. The good news is that you don't have to. You can use the integrated environment of Visual Studio if desired for your own application.

When setting up a project or Makefile you have to set the following: