Writing an installer for a Windows Service

During my time in HADSL, the writing and maintenance of our Active Directory components has consistently caused the most pain. In the latest revision of our tool, we're moving all AD specific code out of our LSX (itself a source of some pain) and into a Windows Service.

Using Visual Studio 2005, writing a windows service is pretty easy - well, once you plough through sufficient documentation to figure out which "timer" class you should use.. Extending this to call back to the Domino server using Web services is actually pretty easy.

However. We had to write an installer which would correctly install, register and then run this code. After THREE days of beating myself against Visual Studio 2005, I concluded that life was too short. A hasty beauty competition was held covering most of the shareware, freeware, and costly installers out there - including the market leading Installshield.

However - the winner is MakeMSI. Why ?

  • Its free.

  • It installs services

  • It allows you to define dialogs and user prompts

  • You can brand the installer with your graphics

  • Its text-file based. Once you get your head around the REXX/Makefile style syntax, its very very powerful

  • It allows you to bolt on your own DLL's for use during the installation.

Check it out. Its worth its weight in gold.

(Perhaps we notes guys have had it too easy. After all, when we're ready to deploy an application, we do it once, and dont have to worry too much about client config. We also have a security layer, and a scheduled agents interface. All of which is painful outside notes...)