win32

## AOLserver Win32 Port

    $Header: /cvsroot/aolserver/aolserver/win32/win32.html,v 1.1 2000/10/10 18:03:52 kriston Exp $

## Getting Started

This directory is for building AOLserver on Win32. The server is intended to run on Windows 2000 or Windows NT 4.x SP6 (and better). While AOLserver runs on Windows 9x, the architecture of that operating system precludes any serious use. Included is a top-level Workspace for Visual C++ 6.x or betterwhich references individual Projects in the subdirectories. All the project file pathnames are relative to the diretory in which the project resides, e.g., nsd/nsd.dsp will expect to compile ../../nsd/nsmain.c for output in nsd/Debug.
Included directories are:

- nsthread: Thread library.
- nstcl: Tcl 8.3 modified for nsthreads.
- nsd: Core AOLserver DLL.
- main: AOLserver nsd.exe program.
- cgitest: Simple .exe CGI test program.
- threadtest: Thread library test program.
- nscp: Control port.
- nscgi: CGI interface.
- nslog: Access Logging.
- nsperm: Permissions.
- nssock: Socket Driver.
- nsssl: SSL Socket Driver (requires BSAFE for Win32).
- test: Simple AOLserver directory for testing.

## Building

To build, simply open the aolserver.dsw project workspace file, select the "main" projects (which depends on all other projects), select release or debug build, and select "Rebuild All". Output will be copied to the Debug or Release subdirectory in this directory. The main project is also setup to run AOLserver in the debugger using the "test" directory above. The test directory includes a simple index.adp which allows you to evaluate Tcl commands and has links to execute the cgitest.exe program and a cgitest.bat batch CGI.

## Installing

To install, create an AOLserver installation directory as you would do on Unix and copy the binaries from Debug or Release to the bin subdirectory. AOLserver supports both console-mode and service-mode operation.
You may then run the server in a console window as on Unix:

    bin/nsd.exe -f -t nsd.tcl

You can also install the server as an NT Service where it is controlled via the Services control panel:

    bin/nsd.exe -I -f nsd.tcl

To remove the server from the list of NT Services, type:

    bin/nsd -R -f nsd.tcl

## General Notes

The Win32 port is very much a port from Unix, e.g., it does not use fancy WSA socket calls and relies on the libc library to be very much like Unix. Pathnames are almost always translated explicitly to forward slash and it's very unlikely fancy UNC style names (e.g., \\host\file) will ever work. Some NT semantics may still cause problems, e.g., you probably cannot roll the server log file as files cannot be renamed while open on NT. The server attempts to writes logs in "test" format (i.e., \r\n) but most other files are assumed binary which is normally fine. The Tcl library is compiled as "nstcl.dll" to ensure nsd.exe uses it instead of a thread unsafe tcl83.dll which may be loaded because you're playing around with the Tk widget demo.
AOLserver 3.1 and later use the extension ".DLL" for all shared libraries. The configuration file automatically determines the extension at server startup.
Enjoy!