I have a Wix setup project that was recently converted from Wix 3 to Wix 4. I installed the HeatWave extension to perform the conversion and I'm able to build with it installed in Visual Studio 2022. However, my company uses nuget restore and devenv for builds. When the build runs without HeatWave, there's an error for the .wixproj that says, "The application for the project is not installed" even though I have the WixToolset.Heat in my .wixproj as a package reference.
I read the Integrating WiX Projects Into Daily Builds article and that's what we were using previously with Wix 3, so I was hoping to achieve something similar with Wix 4 where the HeatWave extension doesn't have to be installed and everything can process using the NuGet packages. If I don't have the HeatWave extension installed, Visual Studio doesn't recognize the .wixproj at all. Once I add it back, it appears to build just fine as long as it targets x86.
Is there a way to build Wix 4 using nuget restore and devenv?
Thanks!
From my testing, you cannot build
.wixprojwithout HeatWave if you are usingdevenv. However, nothing is stopping you from making the extension a.csprojsince it's SDK based now, which is what I personally do. WiX4 also allows you to build from the command line very easily withdotnet build.So your two courses of action:
Rename extension to
.csprojand usedevenv. Cons: You lose all HeatWave integration but this doesn't matter if you know what you're doing.Use
dotnet buildto build the SDK based project.