David Dunetz
David Dunetz

Reputation: 43

Specifying Burn Bootstrapper prerequisites

I’m lamenting the lack of documentation for the Wix Burn bootstrapper engine. I’m hoping I can get a few specific questions answered.

I know that the Burn engine requires .Net 4.0. It seems to have its own mini-bootstrapper that will install .Net 4.0 if it’s not present.

(1) .Net 4.5 is supposed to be an in-place replacement for .Net 4.0. Does the mini-bootstrapper recognize this and not install 4.0 if it sees 4.5 is present?

(2) My application and my custom bootstrapper require .Net 4.5. Can I tell the mini-bootstrapper to install 4.5 instead of 4.0?

This leads directly to questions about BootstrapperCore.config.

(3) How does the startup, supportedRuntime element tie into this?

(4) Where can I find the list of allowed values and the syntax for the version and sku attributes?

(5) If I want only 4.5, should I still include a supportedRuntime for 4.0?

(6) How does the host, supportedFramework element tie into this?

(7) If my custom bootstrapper requires 4.5, will it fail if I include a supportedFramework for 4.0, and 4.0 is present but 4.5 is not?

(8) If I require 4.5 and the target system already has 4.5.1 (or later), will Burn recognize this and skip installing 4.5?

Also, possibly non-related, what’s the difference between v4/Full and v4/Client?

Upvotes: 2

Views: 875

Answers (1)

Sean Hall
Sean Hall

Reputation: 7878

0) This is wrong. The only thing that Burn requires is XP or later, .NET is not required.

1) Burn does not automatically install .NET 4 (see 0). The "mini-bootstrapper" is the ManagedBootstrapperApplicationHost (aka mbapreq).

2) Before WiX 3.9, mbapreq would only install one package - the one designated by the WixVariable WixMbaPrereqPackageId. Starting with WiX 3.9, you can use the bal:PrereqSupportPackage attribute to get mbapreq to install multiple packages.

3) The startup and supportedRuntime elements are standard elements in a .NET configuration file and are documented on MSDN.

4) See MSDN documentation.

5) No.

6) The host and supportedFramework elements are defined by WiX. The supportedFramework element was used to show that you support Client installs of .NET, since .NET 4.5 and later got rid of that you shouldn't specify any supportedFramework elements. The host element is used to tell mbapreq which Assembly has your BootstrapperApplication class.

7) Yes.

8) mbapreq will not show the "mini-bootstrapper" if it can load the .NET framework based on your BootstrapperCore.config. If the config file is not written correctly, where it successfully loads the .NET framework but can't load your BA, then it will silently fail (a log is always written to the temp directory, though). Burn does not try to install a package if its DetectCondition is true.

Upvotes: 3

Related Questions