HeatWave is FireGiant's Visual Studio extension for WiX v4. HeatWave Community Edition is available free of charge and provides:
HeatWave peacefully coexists with the WiX v3 Visual Studio extension, which lets you mix and match WiX v3 and WiX v4 projects in a solution. You can convert the WiX v3 projects to WiX v4 gradually.
HeatWave is available from the Visual Studio Marketplace.
Double-click the downloaded .vsix file to install HeatWave.
To update HeatWave Community Edition from within Visual Studio:
To clean up NuGet artifacts from WiX v4 Preview 1, we recommend you delete the
obj directories in your projects. If you're using .NET Framework MSBuild, do an explicit
MSBuild -Restore to get Release Candidate 1 restored. (Using
dotnet build does that implicitly for you.)
With HeatWave, you can convert WiX v3 .wixproj projects to WiX v4 using the
Upgrade to WiX v4 command on the Project menu or context menu in Solution Explorer.
When you confirm, HeatWave converts the WiX v3 .wixproj to v4 as an SDK-style MSBuild project. It also converts the WiX source files you selected. If HeatWave encountered any errors during the automated conversion, it shows them in a .log file so you can rectify the problem using human-brain-style conversion. The WiX team is collecting real-world reports of how to handle manual conversion here.
HeatWave includes templates for common WiX v4 project types, like MSI packages, bundles, and WiX libraries. The quickest way to see those templates on the Visual Studio
Create a new project window is to filter by
WiX under language.
HeatWave also includes templates for common WiX v4 project items, like source files, include files, and localization string files.
In WiX v4, WiX extensions are available as NuGet packages and HeatWave lets you choose them using the NuGet Package Manager in Visual Studio. Open NuGet Package Manager (among other methods) from the .wixproj context menu in Solution Explorer by choosing
Manage NuGet Packages. One trick to finding all the extensions published by the WiX team is to search for
wixext -- all the WiX extensions end in that name.
Select the extension you want to add, like
WixToolset.Util.wixext, and choose
Install. HeatWave, Visual Studio, and NuGet will work together to get the WiX extension and add it as a dependency in your project. You can expand
Dependencies to show that the extension is loaded and the NuGet package it came from.
If your WiX project consumes the output of another project—like a .wixproj that packages the .exe from a .csproj into an .msi—you can add a project reference to ensure that Visual Studio (and MSBuild for command line and CI/CD builds) builds the projects in the right order.
To add a project reference, right-click
Dependencies in the WiX project in Solution Explorer and choose
Add Project Reference.
In Reference Manager, select the projects to reference and choose OK.
Now when you build, the referenced projects will build before your WiX project.
HeatWave supports all the typical build-related commands you'd expect for WiX projects: Build, Rebuild, Clean. WiX projects build along with any other project inside Visual Studio solutions.
From the command line and on CI/CD build systems, you can build projects you created with HeatWave with MSBuild and
If you experience any bugs or other odd, unexpected, or otherwise mysterious behvaior in FireGiant HeatWave, please open an issue here.
If you're running into any bugs or other oddities using WiX itself, please open an issue here.