Creating an installer via command line / through Jenkins "Execute Batch Command" Creating an installer via command line / through Jenkins "Execute Batch Command" jenkins jenkins

Creating an installer via command line / through Jenkins "Execute Batch Command"


I've used Inno Setup through Jenkins with much success. It is a free installer for Windows. Installation files are created via scripts and command-line arguments can be used when executing these scripts to create installation files. Inno Setup scripts can be added to your source control repository for tracking changes, while also making them accessible to Jenkins.


We use Nullsoft Scriptable Install System (NSIS), and have Jenkins call a batch file in the repository to build our installer. The NSIS binaries are also stored in the repository, no need to install anything on the build server. The NSIS configuration is a text file, looking something like this (from NSIS Simple Tutorials):

# name the installeroutFile "Installer.exe"# default section start; every NSIS script has at least one section.section# default section endsectionEnd

So far it has been working perfectly. The configuration language is a little unusual, but it is not too hard to grasp and the result is stable and predictable. There are plenty of examples and tutorials in the installation and on the web site.


We used WiX Toolset to create an Windows Installer package (MSI). It is open source.

All the tools are command line and we called them from an Ant script. MSI can be installed without user being involved, which could be used for testing.

WiX Toolset also has a plugin to Visual Studio – Votive.

There's a good tutorial on how to create installs using WiX.