You are missing any configuration needed by Burn to run a custom BA. If the initialization and loading of your BA fails, it starts the prerequisite installer. In your case .Net Framework.
You must add the file “BootstrapperCore.config” as a payload in order to get your custom BA. BoostrapperCore.config tells the recording engine how to initialize your custom BA.
Your BootstrapperApplicationRef should look like this:
<BootstrapperApplicationRef Id='ManagedBootstrapperApplicationHost'> <Payload SourceFile='MyBA.dll' /> <Payload SourceFile='BootstrapperCore.config' /> </BootstrapperApplicationRef>
Contents of the BootstrapperCore.config file:
<configuration> <configSections> <sectionGroup name="wix.bootstrapper" type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup, BootstrapperCore"> <section name="host" type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection, BootstrapperCore" /> </sectionGroup> </configSections> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" /> </startup> <wix.bootstrapper> <host assemblyName="MyBA"> <supportedFramework version="v4\Full" /> <supportedFramework version="v4\Client" /> </host> </wix.bootstrapper> </configuration>
Record the name of your assembly with no extension for the assemblyName attribute.
Also make sure you add the following entry to assemblyinfo.cs in your BA assembly, where MyNamespace.MyBA is the class name, including the fully qualified namespace name that you got from WiXBootstrapper.BootstrapperApplication
[assembly: BootstrapperApplication(typeof(MyNamespace.MyBA))]
source share