User Tools

Site Tools



this page is work in progress related to Switch to Wix Toolset

Making a Windows installer package

Mixxx uses the Wix Toolset for building Windows MSI installers. This page contains information on making such packages.

First, we assume you've built & run Mixxx successfully from the instructions on the Compiling on Windows page.


You first need to download and install the Wix Toolset version 3.10

When built with MSVC, Mixxx requires that certain MSVC DLL files be present in order to run. Many people have these already installed on their systems, but many do not (or have different versions,) so we must include them with our packages.

To do that, you need to download the vcredist installation package and install it at the root of your build env directory.

There's a different one for each architecture and compiler combination, as shown below:

Visual Studio 2005 x86 x64/amd64 IA64
Visual Studio 2008 x86 x64/amd64 IA64
Visual Studio 2010 x86 x64/amd64 IA64
Visual Studio 2013 x86, amd64 and IA64
Visual Studio 2015 x86 and amd64

It is strongly recommended that you use Visual Studio 2015. If you choose a different version, make sure the installers are named vc_redist.x86.exe and vc_redist.x64.exe. Once you've located the vcredist installer, if you're doing a 32-bit build, copy the x86 installer in the root of your build env. If a 64-bit build, copy the x64/AMD64 installer.

Make the package

  • Create a makerelease.bat file containing the following:
REM Clean up after old builds.
del /q /f *.exe
rmdir /s /q dist32
rmdir /s /q dist64

REM XP Compatibility requires the v7.1A SDK
set MSSDK_DIR="c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A"

REM this can be either release or debug. For development you want to use debug
set BUILD_TYPE=release

REM This determines if you build a 32bit or 64bit version of mixxx. 
REM 32bit = i386, 64bit = amd64

REM set this to the folder where you build the dependencies
set WINLIB_PATH=D:\mixxx-buildserver32
set QT_VERSION=4.8.7


if "%ARCHITECTURE%" == "i386" (
  set VCVARS_ARCH=x86
) else ( 
  set TARGET_MACHINE=amd64
  set VCVARS_ARCH=x86_amd64

call "c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %VCVARS_ARCH%

rem /MP Use all CPU cores.
rem /FS force synchronous PDB writes (prevents PDB corruption with /MP)
rem /EHsc Do not handle SEH in try / except blocks.
rem /Zc:threadSafeInit- disable C++11 magic static support (Bug #1653368)
set CL=/MP /FS /EHsc /Zc:threadSafeInit-

set PATH=%BIN_DIR%;%PATH% mixxx makerelease toolchain=msvs winlib=%WINLIB_PATH% build=%BUILD_TYPE% staticlibs=1 staticqt=1 verbose=0 machine=%TARGET_MACHINE% qtdir=%QTDIR% hss1394=1 mediafoundation=1 opus=1 localecompare=1 optimize=portable virtualize=0 test=1 qt_sqlite_plugin=0 mssdk_dir="%MSSDK_DIR%" build_number_in_title_bar=0 bundle_pdbs=1

Note: If you want to build 64 bits package, use set ARCHITECTURE=amd64 and force32=0

  • Execute it
Translations of this page:
build_windows_installer_wix.txt · Last modified: 2017/01/21 13:29 by rryan