WixSharp generates wix.tools.csproj with floating versions (*) causing unintended upgrade to WiX v7 and build failures (WIX7015) #1917
-
|
Hi, We are encountering an issue with WixSharp (using WixSharp_wix4 2.7.3) where builds suddenly started failing both locally and in CI (Azure DevOps) with the following error: WIX7015: You must accept the Open Source Maintenance Fee (OSMF) EULA to use WiX Toolset v7. After investigation, it appears that WixSharp generates a helper project at:
This generated project contains <PackageReference Include="WixToolset.Dtf.CustomAction" Version="*" />
<PackageReference Include="WixToolset.Dtf.WindowsInstaller" Version="*" />
<PackageReference Include="WixToolset.Heat" Version="*" />Because of the floating versions ("*"), NuGet restore resolves to the latest available WiX Toolset packages, which currently means WiX v7. This introduces:
This behavior is especially problematic in CI environments where there is no prior cache and restore always resolves to the latest versions. Observed behavior:
Questions:
Current workaround:
However, these approaches are fragile since the file is regenerated. Any guidance on a proper and supported solution would be greatly appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 8 replies
-
|
Yes, compatibility is the problem since WiX team, not so long ago, started pushing new breaking changes with new releases. Place this code (with your desired version) at the top of your build script, and it will trigger installing local wix tools (to the specified folder): This should help with the selection of the compilers (e.g. wix.exe). However, it will not help with the selection of the assistance tools that are not distributed as ".NET Tool" but rather as ".NET Package". WixSharp is using "wix.tools.csproj" to pull these packages. I will update teh API to allow handling this problem:
|
Beta Was this translation helpful? Give feedback.
-
|
It will not be long. A few days or so. But until you wait, you can use this workaround:
UPDATE: You can perform steps 1-2 automatically by simply adding the packages to your WixSharp project. It doesn't matter which C# project triggers the package download. So it can be your very project that builds the msi. |
Beta Was this translation helpful? Give feedback.
-
|
I have prepared the prerelease so you can test it before I republish it as a normal release. After the update, you do not need to change your code. The nuget packages will be downloaded for the version that is the same as your WiX Toolset. Though if you have WiX 7 installed on your system, you will need to downgrade it locally for your project to v6 (or lower) with A quick summary of changes:
|
Beta Was this translation helpful? Give feedback.

Done, a normal release v2.13.0 is available now: https://www.nuget.org/packages/WixSharp_wix4