Skip to content

jkroepke/docker-wixtoolset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI GitHub license Docker Pulls

docker-wixtoolset

⭐ Don't forget to star this repository! ⭐

About

Docker image for building Windows MSI installers using the WiX Toolset 5 on Linux. It runs the official WiX CLI (wix build, wix extension add, etc.) under Wine with a preinstalled .NET SDK 10, so you can build MSI packages without needing Windows or Wine setup.

Features

  • Run wix build directly on Linux
  • Includes WiX Toolset 5.0.2 (pinned for license compatibility)
  • Preinstalled WiX extensions:
    • WixToolset.Util.wixext
    • WixToolset.Firewall.wixext
    • WixToolset.UI.wixext
  • Based on Debian with Wine and .NET SDK preinstalled
  • Fully isolated environment for CI/CD builds
  • No need for a Windows VM or manual configuration

GitHub Action usage

This repository also provides a Docker-based GitHub Action.

Prerequisites

  • Use a Linux runner (for example, ubuntu-latest)
  • Check out your repository so WiX source files are available in the workspace
  • Provide a command through the required run input

Basic workflow

name: Build MSI

on:
  push:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@v4

      - name: Show WiX version
        uses: jkroepke/docker-wixtoolset@main
        with:
          run: wix --version

Build an MSI in GitHub Actions

- name: Build installer
  uses: jkroepke/docker-wixtoolset@main
  with:
    run: |
      wix extension list
      wix build installer/Product.wxs -o dist/Product.msi

Inputs

Name Required Description Example
run Yes Command executed inside the container (bash -c ...) wix build Product.wxs

Docker CLI usage

Build an MSI directly from Linux:

docker run --rm -v $(pwd):/src -w /src jkroepke/wixtoolset wix build Product.wxs

List installed extensions:

docker run --rm jkroepke/wixtoolset wix extension list

Version information

WiX Toolset is pinned to version 5.0.2. This is the latest available version with public binary artifacts.

WiX Toolset 6 and newer versions require a commercial license agreement and paid maintenance fee to access official binaries.

See WiX Toolset OSMF License and the introduction post for details.

Use cases

  • Build .msi installers from Linux-based CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins)
  • Cross-compile Windows installers for Go, .NET, Python, or C++ applications
  • Reproducible builds without any Windows dependencies

Tags

  • latest

License

This project is licensed under the MIT License.

About

Docker Container for creating MSI with wixtoolset under linux

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors