Skip to content

Latest commit

 

History

History
69 lines (47 loc) · 1.86 KB

README.md

File metadata and controls

69 lines (47 loc) · 1.86 KB

Docker Wix

This repository contains the Docker build files for a container that enables building Windows MSI packages from any system supporting Docker.

Want to build MSI packages on macOS or Linux? Read on.

Docker Hub

The precompiled images are available at hub.docker.com/r/dactiv/wix.

docker pull dactiv/wix

Requirements

The only requirement for building or running these containers is a working installation of Docker.

Usage

The container build exposes each of the WiX Toolset executables in the PATH. This means that running WiX's candle.exe is simple as:

docker run --rm dactiv/wix candle

In order to do anything useful with WiX, you need to mount a volume to expose the necessary files to the WiX tools. The default working directory of the container is /wix, so it is easiest to mount the host's working directory to that path:

docker run --rm -v $(pwd):/wix dactiv/wix candle sample.wxs

Example

A small sample configuration is provided in ./sample. To build the sample.msi, run the following commands:

cd sample
docker run --rm -v $(pwd):/wix dactiv/wix candle sample.wxs
docker run --rm -v $(pwd):/wix dactiv/wix light sample.wixobj -sval

The sample.msi will now be in the sample directory.

Known Issues

light fails when running validation

docker run --rm -v $(pwd):/wix dactiv/wix light sample.wixobj
Windows Installer XML Toolset Linker version
Copyright (c) .NET Foundation and contributors. All rights reserved.

light.exe : error LGHT0216 : An unexpected Win32 exception with error code 0x65B occurred: Function failed.

The workaround for this is to disable validation with the -sval flag:

docker run --rm -v $(pwd):/wix dactiv/wix light sample.wixobj -sval