NSIS Installer with puppet

Posted septiembre 12th, 2012 in Blog, Operations by guzman

A few days ago we had to deal with a customer using NSIS (Nullsoft Scriptable Install System) which as usual was “black magic” and no documentation at all of the installation, just the guide used to install it almost a year ago for an older distro. Thankfully “the guide” was pretty well documented (Check it out here. )

We just needed to translate that guide to puppet and then we are done, sounds simple. Of course it wasn’t, we had to throw a few hours dealing with missing lib32 and a few more missing packages as we wanted to install latest stable from sourceforge without having to change anything from nsis to do a correct install.

The result is a puppet module to install Nsis and osslsigncode. It was tested on latest linux Debian stable (squeeze) and it works like a charm.

Installing the module it’s pretty easy, just clone the repo or download and uncompress it in your puppet modules folder. It’s important that the destination folder inside modules it’s nsis and not puppet-nsis.

To install nsis in a node you just include the class passing root_folder as the main folder to install.

The class will leave inside that folder three files and three folders, each download and the corresponding uncompressed folder for NSIS Source, NSIS Zip and OslSigncode source.

It’s safe to remove both source (nsis & osslsigncode) you only need the zip folder (usually nsis-2.46) where there are two “bin” folder, one as “Bin” that cames with the package and one as “bin”, created by make nsis install. I know it looks wrong but it works without complain like that. Everything except “bin” it’s what it came by default from sourceforage.

Github page: https://github.com/guruHub/puppet-nsis