Wix: Error LGHT0091: Duplicate symbol 'Property:WIX_IS_NETFRAMEWORK_472_OR_LATER_INSTALLED' found

53 Views Asked by At

I've just started getting this error in Azure Devops pipelines using the MS hosted agent. I have made no code changes, it just started happening.

Error LGHT0091: Duplicate symbol 'Property:WIX_IS_NETFRAMEWORK_472_OR_LATER_INSTALLED' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique.

2

There are 2 best solutions below

0
DomBat On BEST ANSWER

After some investigation (comparing raw logs in the pipelines) my working builds a few days ago were using Wix3.11 but looking at the logs for the failed pipelines they're using Wix3.14.

Looking in GitHub for the runners, there has indeed been a change (happened early March 2024) to mitigate a vulnerability. See https://github.com/actions/runner-images/issues/9426 so Wix3.14 is now the minimum version to use.

0
DomBat On

Also, the actual fix for my problem is described here https://github.com/orgs/wixtoolset/discussions/8038

Where the answer from "chrpai" is

Prior to 3.14, 3.11 didn't have support for various .NET Framework versions so people defined it themselves. In 3.14 these properties are added to the NetFx extension so you need to remove your own definition or change it to a unique property name.

NetFx472.wxs is inside the extension itself. Your property definition could be anywhere in your code. Search for WIX_IS_NETFRAMEWORK_472_OR_LATER_INSTALLED across all of your wxs files.