You need accurate DetectCondition
attribute values for every package that isn't an MsiPackage
. Burn has no way to detect what an arbitrary .exe might do, so it relies on you to tell it. With no detect condition, Burn will always install the package. For .NET, you should use the DetectCondition
from WiX:
<?define NetFx45MinRelease = 378389?>
...
<util:RegistrySearch
Id="NETFRAMEWORK45"
Variable="NETFRAMEWORK45"
Root="HKLM"
Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
Value="Release"
Result="value" />
...
DetectCondition="NETFRAMEWORK45 >= $(var.NetFx45MinRelease)"