Skip to content

dactivllc/docker-wix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Docker container for creating Windows MSI packages using WiX Toolset

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published