win32/README
0678c04b
 ClamAV for Win32
 ----------------
 
8ab47ebe
 --- News ---
 
 Starting from version 0.98 the windows version of ClamAV requires all the
 input to be UTF-8 encoded.
 This affects:
 - the API, notably the cl_scanfile() function
 - clamd socket input, e.g. the commands SCAN, CONTSCAN, MUTLISCAN, etc.
 - clamd socket output, i.e replies to the above queries
 
 For legacy reasons ANSI (i.e. CP_ACP) input will still be accepted and
 processed as before, but with two important remarks:
 First, socket replies to ANSI queries will still be UTF-8 encoded.
 Second, ANSI sequences which are also valid UTF-8 sequences will be handled
 as UTF-8.
 
 As a side note, console output (stdin and stderr) will always be OEM encoded,
 even when redirected to a file.
 
 
 --- Requirements ---
0678c04b
 
 To build the source code you will need:
 - Git for windows with a git "shell"
76f1a1e4
 - Microsoft Visual Studio 2010 SP1: the express version builds the 32bit
 target just fine but it requires a decent amount of fiddling in order to
 compile the 64bit target; this configuration is therefore not supported.
0678c04b
 
03adf2a5
 To run the binaries at least Windows XP is required.
0678c04b
 
8ab47ebe
 
 --- Getting the code ---
0678c04b
 
 The win32 source code is merged in the ClamAV repository and is available
 via git.
 Clone the repository with: git clone git://git.clamav.net/git/clamav-devel
 See http://www.clamav.net/download/sources for more info.
 
 
8ab47ebe
 --- Code configuration ---
0678c04b
 
 After downloading the source code, minimal configuration is required:
 just run the win32/configure.bat script *from within the git shell*.
 Skip this step if you are building from an official release tarball.
 
 
8ab47ebe
 --- Compilation ---
0678c04b
 
 Open win32/ClamAV.sln in Visual Studio and build all.
44492e23
 The output directory for the binaries is either /win32/(Win32|x64)/Debug or
 /win32/(Win32|x64)/Release depending on the configuration you pick.
0678c04b
 
1bb5a24d
 Note: at the time of writing Batch Build is broken in VS10:
 https://connect.microsoft.com/VisualStudio/feedback/details/556158
f060a089
 Use MSBuild instead.
1bb5a24d
 
0678c04b
 
8ab47ebe
 --- Special notes ---
0678c04b
 
 The ClamAV tools in win32 are the same as in unix, so refer to their respective
 manpage for general usage.
 The major differences are listed below:
 - Config files path search order:
8ab47ebe
   1- The content of the registry key
      "HKEY_LOCAL_MACHINE/Software/ClamAV/ConfDir"
0678c04b
   2- The directory where libclamav.dll is located
   3- "C:\ClamAV"
 
 - Database files path search order:
8ab47ebe
   1- The content of the registry key
      "HKEY_LOCAL_MACHINE/Software/ClamAV/DataDir"
   2- The directory "database" inside the directory where libclamav.dll is
      located
0678c04b
   3- "C:\ClamAV\db"
 
 - Globbing
8ab47ebe
 Since the windows command prompt doesn't take care of wildcard expansion,
 minimal emulation of unix glob() is performed internally.
 It supports "*" and "?" only.
0678c04b
 
 - File paths
 Please always use the backslash as the path separator.
 SMB Network shares and UNC paths are supported.
 
9a045601
 - Debug builds
 Malloc in debug (as opposed to release) mode fails after allocating some 90k
 chunks; such builds won't be able to handle large databases.
 Just do yourself a favour and always build in release mode.
0678c04b
 
844e5608
 
8ab47ebe
 --- Special thanks ---
844e5608
 
 Special thanks to Gianluigi Tiesi and Mark Pizzolato for their valuable help in
 coding and testing.