WiX v5 is here! Let us help.

Integrating the FireGiant MSIX Extension

Reference the FireGiant MSIX Extension

The FireGiant.HeatWave.BuildTools.Msix.wixext WiX extension must be referenced in your WiX project. If you use HeatWave:

  1. Right-click on the "Dependencies" node and choose "Manage NuGet Packages"
  2. Install the FireGiant.HeatWave.BuildTools.Msix.wixext from the list

If you edit your .wixproj by hand, add the following code:

<ItemGroup>
  <PackageReference Include="FireGiant.HeatWave.BuildTools.Msix.wixext" Version="4.0.0" />
</ItemGroup>

If you build your WiX packages using the WiX command line tools, you can add the FireGiant.HeatWave.BuildTools.Msix.wixext to your local cache like so:

wix extensions add FireGiant.HeatWave.BuildTools.Msix.wixext

Set the output type to "Msix"

If you use HeatWave:

  1. Right-click on the project node and choose "Properties"
  2. On the "Installer" tab, change the "Output type" to "MSIX Package (.msix)"

If you edit your .wixproj by hand, add the following code:

<PropertyGroup>
  <OutputType>Msix</OutputType>
</PropertyGroup>

If you build your WiX packages using the WiX command line tools, add the -outputType command-line switch with the -ext switch to reference FireGiant.HeatWave.BuildTools.Msix.wixext:

wix build *.wxs -out path\to\MySoftware.msix -outputType msix -ext FireGiant.HeatWave.BuildTools.Msix.wixext ...

Author MSIX package properties

Once the MSIX Extension is referenced and the output type is set, the build process MSIX packages. MSIX packages require some MSIX-specific information in your authoring before the FireGiant MSIX Extension can successfully create an MSIX package. To do so:

First, declare the MSIX Extension's namespace in your .wxs source code. Add xmlns:msix="http://www.firegiant.com/schemas/v4/wxs/heatwave/buildtools/msix" to to the Wix element:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:msix="http://www.firegiant.com/schemas/v4/wxs/heatwave/buildtools/msix">
  <Package ...>

Then provide the identity information required by MSIX packages. Add the following element to your Package element:

<msix:Msix Id="Example" Publisher="CN=Example" />

Naturally, you will want to change the Id attribute to something that better describes your package. The Publisher attribute must match the subject of the certificate that will be used to sign the MSIX package.