How do I prevent .NET from repairing when repairing a WiX bundle?

bundle, wix, wix3.7

Solution

Get the WiX source and make a copy of the .NET 4 install wsx file and use that in your project, then edit NetFx40ClientWeb to remove the ExePackage/@Repair element.

Problem

I have a bundle installer created using burn that installs .NET as a first step: ``` <Chain> <!-- Applications depend on .NET 4.0 Client Profile --> <PackageGroupRef Id="NetFx40ClientWeb"/> <MsiPackage SourceFile="$(var.Installer1)" Visible="yes" /> <MsiPackage SourceFile="$(var.Installer2)" Visible="yes" /> <MsiPackage SourceFile="$(var.Installer3)" Visible="yes" /> ... ``` When a user goes to repair the bundle in Add/Remove Programs, the repair process also repairs the .NET framework, which is very time consuming and sometimes requires a restart of the PC. Issue with our installations are very unlikely to be with the .NET framework itself, so I would like to change this behavior. I can't find the actual definition of `NetFx40ClientWeb PackageGroup`, but I assume it is marked as `permanent="true`" because it isn't uninstalled with the rest of the bundle. So why is it repaired with it?

Original source