/innosetup-docker

Docker image to create Windows installer executables with Inno Setup

Primary LanguageDockerfileCreative Commons Zero v1.0 UniversalCC0-1.0

About

An easy way to create Inno Setup installer packages for Microsoft Windows directly from your Linux or macOS box.

This fork is more specifcally around making this run better in gitlab ci.

Provided core packages

This image provides the following core packages in addition to the ones contained in the parent images:

Usage

Run in interactive mode with your source root bound to /work; specify your setup script as the command:

docker run --rm -i -v $PWD:/work xanter/innosetup helloworld.iss

Put the following wrapper script in your PATH as e.g. iscc to be able to run just iscc helloworld.iss:

#!/usr/bin/env bash

exec docker run --rm -i -v $PWD:/work xanter/innosetup "$@"

Important notes

Be aware that depending on how you mount your code into the container, files referenced by the setup script may or may not be "visible" within the container. You probably want to make sure all referenced files are at or below the directory your script is in. The same applies to the output.

Known issues

Slow to start up

We have to wait for wineserver to start running before Inno Setup can be run. Note that this has been mitigated somewhat by moving the base container to debian:stretch.

Wine, X11-related warnings and errors

This image pulls some tricks to get wine and Inno Setup installed and working headlessly. This results in some yucky looking logs, but it seems to work anyway.

Does it work?

Yes. Unlike the various other, similar repos for Dockerized Inno Setup I found on and around 2019-3-12, this one actually works.

See also

An article about how to use this as part of a complete editing/building/signing workflow: Inno Setup on Linux and macOS