Thursday, June 12, 2008

NSIS installer for WinAoE

On Mar 10, 2008 I became aware of an AoE driver for Windows ( here ) which was under an Open Source license (GPLv3). Of course, I jumped at it and played with it a bit. However, I immediately felt that one missing bit was that all of the hoop-jumping to get it installed. I grabbed Inno Setup, a Windows Installer Maker that I've used before. It's very nice! However, I couldn't get it to do what I wanted it to, so I turned to NSIS, and found a NSIS plugin here that was just right for this job. After much fiddling, I got everything working reasonably well. I tried contacting the author several times and in several ways, but never had any luck, and eventually my interests found themselves elsewhere for a while. Some people are just hard to get ahold of! A few days ago, I thought I'd post my results to the aoe-discuss mailing list, and several people expressed some interest, and that's what this post is for. First, a list of the components and their licenses with comments:
  1. WinAoE - GPLv3
  2. NSIS - A Bunch of Licenses, see http://nsis.sourceforge.net/License
  3. The InstDrv NSIS plugin - similar to 3-clause BSD ("as-is")
  4. an Installer.nsi file - unfortunately, blogger doesn't let you host any files (not even .txt files!) other than audio and video.
Steps to build:
  1. Download and Install NSIS
  2. Download the InstDrv NSIS plugin
  3. Unpack the InstDrv NSIS plugin
  4. Copy the file InstDrv.dll from Plugins into the NSIS Plugins directory ( typically C:\Program Files\NSIS\Plugins\ )
  5. Download WinAoE, and unpack it somewhere
  6. Copy the Installer.nsi *contents* (except for the very bottom - do not include the links that Google Docs includes) to the clipboard
  7. Open up notepad and paste the contents into a new document
  8. Save the document into the bin directory of the unpacked WinAoE source and call it Installer.nsi
  9. Right-click the Installer.nsi file and choose "Compile NSIS Script". It should compile fine. If it doesn't, make sure you copied-and-pasted correctly.
Regarding licenses - I am not a lawyer or a license expert. I am making this information available in good faith believing that the licenses do not conflict in any fundamental way. However, should you arrive at a different conclusion please let me know and I will investigate and correct as I am able. I make no warranty about the suitability of this information, etc.. so on and so forth. The WinAoE source is under the GPLv3. The NSIS installer is under several licenses (primarily the zlib license) all of which are reasonably open and fairly similar to the BSD 3-clause. The InstDrv license is a familar "as-is" license also very similar to the BSD 3-clause. I don't know what the results of mixing all of these might be, which is why I'm not providing an installer myself. The Installer.nsi file (which I do provide) was originally copyright in 2003 by Jan Kiszka (email withheld - nobody likes SPAM), and I place no additional restrictions on it. Best of Luck!

1 comment:

WinAoE said...

Hi,

A full installer (and gui version of aoe.exe) will be included in a future version of WinAoE (working on those whenever I have time to spare).
The reason of not using NSIS is that I did not want to rely on any other 3th party tools besides MSYS and/or the DDK.
Also note that there already is a driver installer in source in the package (loader.c).

For more information feel free to use the contact form on http://winaoe.org/