I\'m trying to create a bundle for installing .NET Framework 4.0 if it needs to be installed. I realize there are similar questions, but all of the answers are just snippets and
That error indicates that your project is building with files that contain more than one of these elements: Product
, Module
, Patch
, PatchCreation
, Bundle
. In your case, it sounds like you added a file with a Bundle
element to a project that already had a Product
element. That isn't supported in the WiX toolset today. You need to put the Bundle
element in a separate project.
Thus, when creating a bootstrapper and MSI, you'll have two .wixproj files. The first .wixproj will contain your Product
information. The second .wixproj will contain your Bundle
information and have a project reference to the first .wixproj so that the build order is correct.
The Wix/Bundle
element is the root of a Bootstrapper project. It doesn't go in the same project as your Product.wxs. In Visual Studio, there is a template for new Wix Bootstrapper projects. You probably haven't created one.
Then in your bundle's Chain, you'll want .NET and your application's MSI, as in the example. To use the NetFx40Web, you have to reference WixNetfxExtension. Wix projects that reference other Wix projects have predefined variables so you can use their properties such as TargetPath. The example assumes this Bootstrapper project references a Setup project called MyApplicationSetup.
<Chain>
<PackageGroupRef Id="NetFx40Web"/>
<MsiPackage Id="MyApplication" SourceFile="$(var.MyApplicationSetup.TargetPath)"/>
</Chain>