The following example shows how to create a project using the msi lifecycle to build the matrix x86 and x64 platforms for english and german
<project>
...
<packaging>msi</packaging>
<properties>
<wix.locales>1033:en-US,1031:de-DE;en-US</wix.locales>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.github.wix-maven</groupId>
<artifactId>wix-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<platforms>
<arch>x86</arch>
<arch>x64</arch>
</platforms>
</configuration>
</plugin>Using wix extensions, add as a dependency.
WiX v4+ uses the unified <<<wix.exe>>> CLI and a string-based extension model.
build plugins plugin groupIdcom.github.wix-maven/groupId artifactIdwix-maven-plugin/artifactId extensionstrue/extensions configuration toolsPluginArtifactIdwix-toolset4/toolsPluginArtifactId wixExtensions extWixToolset.UI.wixext/ext extWixToolset.Util.wixext/ext extWixToolset.Bal.wixext/ext /wixExtensions platforms archx64/arch archarm64/arch /platforms /configuration /plugin /plugins /build +-----+
Constraints:
msix packaging requires WiX v4+.arm64 platform requires WiX v4+.
Common extension name migration:
WixUIExtension -> WixToolset.UI.wixext * WixUtilExtension -> WixToolset.Util.wixext * WixBalExtension -> WixToolset.Bal.wixext * WixIISExtension -> WixToolset.Iis.wixext * WixVSExtension -> WixToolset.VisualStudio.wixext * WixNetFxExtension -> WixToolset.Netfx.wixext * WixFirewallExtension -> WixToolset.Firewall.wixext * WixDirectXExtension -> WixToolset.DirectX.wixext * WixHttpExtension -> WixToolset.Http.wixext properties wix.groupIdorg.wixtoolset/wix.groupId wix.version3.7/wix.version /properties
dependencies dependency groupId$wix.groupId/groupId artifactIdwix-toolset/artifactId version$wix.version/version classifierWixNetFxExtension/classifier scopeprovided/scope typewixext/type /dependency dependency groupId$wix.groupId/groupId artifactIdwix-toolset/artifactId version$wix.version/version classifierWixUtilExtension/classifier scopeprovided/scope typewixext/type /dependency /dependencies