Announcement (Updated 8 Feb 2005)
---------------------------------

The reasons for full Win32 support are _still_ valid: Namely, primarily that
Microsoft insists on supporting location protocols other than the one 
designed by the IETF. The hope is that by offering a really good port of 
OpenSLP, Microsoft enslaved developers and partners will have some 
ammunition to fight proprietary or otherwise non-interoperable protocols.

Current State
-------------
Currently the OpenSLP code base does work on Win32 with the same
functionality as OpenSLP on Linux, with one exception. The lex/yacc files
that were originally written by Michael Day, which define the attribute 
language parser are not used on Win32 (for lack of tools). Rather, the 
original hand-coded version of this parser is being used. I'd be grateful
if someone would please help me get a version of the gbod stuff working -
one way or another :)

Schedule
--------
Maintain simultaneous development with linux/unix from now on.

Building 
--------
As of OpenSLP 1.2.1, an MS Visual Studio .NET 2003 "solution" (openslp.sln) 
and associated project files (*.vcproj) are provided in the win32 directory
structure. The older MSVC 6.0 workspace and project files still exist, but 
need to be updated in minor ways. Please feel free to help if you wish. I
no longer have time to maintain the older VC6 project files. They will be 
removed eventually - especially now that MS is giving away newer versions
of their tools. (see http://msdn.microsoft.com/visualc/vctoolkit2003).

From the command line, within the win32 directory, you may run the "m.bat"
script to build the default "Release" configuration. If you want a full debug
build, add "Debug" as an argument. This will invoke nmake for the appropriate
project under vc6 (again, I'm not sure if this still works), or if you have
VC7x installed, m.bat will detect it through the presence of the DevEnvDir
environment variable, and run the DevEnv.exe utility with the /build 
command-line option. 

NOTE: For some unknown reason, on my system, if I invoke the DevEnv utility 
from a batch file in this manner, it compiles very quietly - that is,
there is _no_ output, but it works. If you invoke "DevEnv openslp.sln /build"
directly from the command line, you will see each file name as it's compiled. 
I'm sure there's some logical reasoning behind this design decision...

Installing
----------
There is currently still no installation application for OpenSLP on Windows.
Hopefully, there will be time to write one in the 1.3.0 developer line before
we transition to a full release in 1.4.0. Right now, for the library, all you 
have to do is copy the slp.h slp.lib and slp.dll files to the appropriate 
locations for your client application code to consume them.

slpd is pretty trivial to install now that we have a command line interface
to the service registry, so it's easy as 1, 2, 3 (literally):

1. Copy slp.reg and slp.conf to %SystemRoot%
2. Copy slpd.exe to %SystemRoot%/System32
3. From this location, execute: "slpd.exe --install [auto]"

Note that the log file (slpd.log) will be created in %SystemRoot%.

Credits
-------
The work currently being done on the Win32 port in no way invalidates the 
tremendous contribution of Matthieu Desmons who did the original port of the 
0.7.x codebase.  Most of the actual code changes can still be attributed to 
him -- not to mention the initive to to show that the port was actually 
possible.
