Forum OpenACS Q&A: Windows Installer HowTo

Collapse
Posted by Frank Bergmann on
Hi,

please find below a brief description on how to build a Windows installer for OpenACS, DotLrn and Project/Open using the free Inno Setup.

The installer currently uses "ProjectOpen" (installer name), "C:\ProjectOpen" (default installation directory) and "projop" (server and database name) as defaults, instead of "OpenACS", "C:\OpenACS" and "openacs". However these are just names that can be changed.

Required Software:

- ActivePerl 5.8.4 or higher
- Inno Setup 4.2.7 or higher

Installer Sources:

The installer sources consist of the main ".iss" Inno Setup script plus a few Perl scripts to build a number of include files. Some of these include files (doc, filestorage, preconf) are Project/Open specific and could be omitted/renamed for an OpenACS installer:

- ProjectOpen.3.0.beta5.iss (The Inno Setup script)
- build.include.doc.pl (P/O documentation)
- build.include.filestorage.pl (P/O filestorage)
- build.include.nsd4.pl (AOLServer 4.0.beta_10)
- build.include.pgAdmin.pl (PosgreSQL admin)
- build.include.projop.pl (the OpenACS tree)
- license.txt
- readme.txt
- readme.postinstall.rtf

That's it. These are the pieces that we have added in order to port Vlassis Rizopoulos installer from InstallAnywhere to Inno Setup.

Other Files:

There are a number of other files necessary in order to build a complete installer:

- C:\ProjectOpen\nsd4\projop.tcl: The AOLServer configuration script.
- C:\ProjectOpen\projop\install.xml: This is one of install.dotlrn.xml, install.pocons.xml or install.potrans.xml. These XML files control the packages installed by the OpenACS installer.
- ProjectOpen-start.bat, ProjectOpen-stop.bat: Batch files for starting the CygServer, CygPostgres and CygAolserver services
- C:\ProjectOpen\zip\cygwin.zip: This file contains a zip of the CygWin Unix environment for Windows. Cygwin.zip also contains the PostgreSQL database.
- C:\ProjectOpen\nsd4: AOLServer 4.0.beta_10. This version from Jamie Rasmusen is the latest running version that contains all necessary add-on modules, such as nscache, nspostgres, ...
- C:\ProjectOpen\pgAdmin: The PostgreSQL 1.2.0 Beta 1 PostgreSQL administration applications. Optional but very useful.
- C:\ProjectOpen\preconf\potrans.preconf.sql: A PostgreSQL database dump (pg_dump -O -F p -f /tmp/potrans.preconf.dmp projop) in order to provide the users with a preconfigured sample database.
- C:\ProjectOpen\projop\: The OpenACS tree
- C:\ProjectOpen\tools: Some windows command line tools necessary for the installation process such as unzip.exe (unzip cygwin.zip), setx.exe (setting environment variables), ...

A ZIP with all of the files above (ProjectOpen-Installer-Source.3.0.beta5.zip) is available at Sourceforge: http://sourceforge.net/projects/project-open/

Building the Installer:

To build the installer please extract the content of the installer zip to "C:\ProjectOpen-Installer\" and create a "doc" and a "filestorage" folder. Then execute the build.include.xxx.pl Perl files and run Inno Setup. That's it.

Next Steps:

- We should establish a group of people interested in the Windows installer, together with the amount of time that everybody could commit. I think it's important to know if Vlassis would be available for leading this group.

- The current installer contains several Project/Open specific elements that should be replaced by OpenACS/DotLrn specific naming. This could be achieved by using the Inno Setup preprocessor stataments (similar to C preprocessor, allow IF-THEN-ELSE constructs). I would volunteer to change these specifics back to OpenACS/DotLrn defaults.

- We would need to agree on a release process

- We should check what other resources are necessary/available to support the release process. In particular we would need a whole group of tester equiped with different operating systems.

Bests,
Frank

Collapse
Posted by Malte Sussdorff on
Thanks a lot for posting this information and putting the next steps up on the list. I'd be willing to participate in testing it on WindowsXP, though it would be limited to a "works/works not" way of testing :).
Collapse
Posted by Nitish Bezzala on
I will be able to test on Windows 2000 Server and Windows 2003 Server.
Collapse
Posted by Byron Linares on
Hi. Frank

I want to reproduce the work that has done with the Windows installer, but I could not locate the ZIP file (ProjectOpen-Installer-Source.3.0.beta5.zip)
At http://sourceforge.net/projects/project-open/
I want to see if you can give me a Link in which I can locate it.

Thanks for your help