Forum OpenACS Q&A: ANN: Installation guide for OpenACS 3.2.5 on Windows

I have written an installation guide for Windows. It's available here: http://acs-

I've double-checked it by doing clean installation following my own guide so it should be fairly accurate, but if you find errors or omissions or have comments, let me know.

It's mostly meant to allow people to play with OpenACS on Windows. It can be a good developement platform but I would discourage running production servers with it (it's mostly OpenNSD not being stable enough).

Given the nature of bboard postings, I think it would be good to link to this guide from (e.g., from downloads page and documentation page) so that interested people can find it.

Also postgres's performance on Windows is pretty lousy owing to the very heavyweight (compared to Linux) processes.  (Each PG backend is a process.)  Also on Solaris, for the same reason.  Which is why those platforms encourage using threads a lot more...
On Solaris I should think the problem would be process *startup*.  Processes and programs share code space and the PG people don't report  horrible performance on Solaris (horrible times getting releases to install correctly due to Solarisims, but that's all).

If you configure AOLserver to keep your backends alive then you don't pay this process-start overhead.

I don't know about windows...

4: OpenACS on Windows (response to 1)
Posted by Andrei Popov on

There are numerous things that aren't working in case of a Windows setup (maybe I should add a slide on this to this presentation...). To start with file uploading is all screwed up and I still cannot get it to work for binary files (it sortof works for text files though) -- hence no real file sharing, portrait uploads, WimpyPoint backgrounds, etc.

As far as Postgres is concerned, I would not say that it is a heavy application: on my laptop it only takes about 14Mb right now for all 3 pools. If you find Postgres being slow in fetching some data (I had a problem with employee admin view in intranet module), try tweaking some of Postgres parameters, especially sort_mem and shared_buffers in /usr/local/pgsql/data/postgresql.conf. Default values that Cygwin package comes with a too low ( I think that sort_mem was lower than 4Mb). Here's my current values:

#       Performance
sort_mem = 16384
shared_buffers = 64 # min 16
fsync = false
See this guide for additional tips'n tricks of Postgres tuning.

Andrei, do you think that upload problem is AOLServer's thing or OpenACS'? I've seen complaints that binary upload doesn't work on Windows but I haven't looked into it yet. If that's AOLServer then I'll fix it (someday).
How about this error message:
[09/Jul/2001:09:30:38][416.375][-main-] Error: Your Postgres driver is too old. You need to update.
[09/Jul/2001:09:30:38][416.375][-main-] Notice: database problem found; Sourcing the installer.
This is generated by /packages/acs-bootstrap-installer/db-init-checks-postgresql.tcl:
            if { [catch { ns_pg_bind 1row $db "select count(*) from pg_class" }] } {
                set my_errors "Your Postgres driver is too old.  You need to update."
                set my_error_p 1
Does this error comes from the driver in my release If not, then I can't help you much. If yes, I've compiled the latest version. Maybe I screwed up something (like not compiling it with FOR_ACS or something) I haven't tested it that much.

But then again, it looks like you're using OpenACS 4. In short: post more information, where did you get the driver, which version of AOLServer are you using, which OpenACS, are there any other things in the server log that look relevant?

Answer to both your questions:
  1. I think that file upload is more like AOLServer on Windows issue. There actually is a patch out there on sourceforge (fixes form.tcl to work better with mulitpart forms -- basically opens all files in binary mode not to get tricked by
I fixed the postgres issue (I compiled 1.2 driver there, updated to latest 2.3). I released another set of binaries in the same location:

Note: it still won't work for OpenACS 4. One: it has new version of ns_xml that breaks current OpenACS 4. See this thread: .

Two: it lacks nssha and nscache, both required for running OpenACS (I'll try to add those in the near future).

Damn, I wonder where did the rest of my comment go... Anyway, binary file issues may be a mixture of AOLServer and ACS. I just tried it again, to refresh my memory, and I guess I found a fix, at least for new-file-storage.

The problem is that on brain-dead win platform a binary file should be opened as binary (this has no effect fo "real" OS's). This adding the following string:

  fconfigure $file_to_return -translation binary
around line 352 in /tcl/new-file-storage-defs.tcl seems to fully fix an issue. I've put a patch into SDM.