title: WiX Burn custom UI
body: <p>I am trying to create a custom UI for <a href="http://en.wikipedia.org/wiki/WiX" rel="nofollow">WiX</a> and Burn. I have followed some of the guides I've found, and so far I have a project that has the following, which inherits from BootstrapperApplication.</p>
  
  <pre><code>namespace MyBA
  {
      public class TestBA : BootstrapperApplication
      {
          protected override void Run()
          {
              MessageBox.Show("My BA is running");
              this.Engine.Quit(0);
          }
      }
  }
  </code></pre>
  
  <p>And in the AssemblyInfo.cs:</p>
  
  <pre><code>[assembly: BootstrapperApplication(typeof(TestBA))]
  </code></pre>
  
  <p>Then in my Bootstrapper project I have the following.</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
       xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"&gt;
  
      &lt;Bundle Name="MyApplication"
              Version="1.0.0"
              Manufacturer="Acme Ltd"
              UpgradeCode="F84A4058-FDF6-4218-BCB5-12C811DA3C99"
              Condition="NOT ((VersionNT = 600 AND ServicePackLevel &gt;=2) OR (VersionNT &gt;= 601))"
              IconSourceFile="$(var.MyApplicationInstallerRequiredFiles.ProjectDir)logo.ico"
              SplashScreenSourceFile="$(var.MyApplicationInstallerRequiredFiles.ProjectDir)Splashscreen.bmp"
              DisableRepair="no"
              DisableRemove="no"
              DisableModify="no"&gt;
  
          &lt;WixVariable Id="WixMbaPrereqPackageId"
                       Value="Netfx4Full" /&gt;
          &lt;WixVariable Id="WixMbaPrereqLicenseUrl"
                       Value="NetfxLicense.rtf" /&gt;
  
          &lt;WixVariable Id="WixStdbaLicenseRtf"
                       Value="$(var.MyApplicationInstallerRequiredFiles.ProjectDir)Licence.en-gb.rtf" /&gt;
          &lt;WixVariable Id="WixStdbaLogo"
                       Value="$(var.MyApplicationInstallerRequiredFiles.ProjectDir)logoInstallSmall.bmp" /&gt;
  
          &lt;BootstrapperApplicationRef Id='ManagedBootstrapperApplicationHost'&gt;
              &lt;Payload Name='BootstrapperCore.config'
                       SourceFile='$(var.MyApplicationInstallerRequiredFiles.ProjectDir)Bootstrapper\MyBA.BootstrapperCore.config' /&gt;
              &lt;Payload SourceFile='$(var.MyApplicationInstallerRequiredFiles.ProjectDir)Bootstrapper\MyBA.dll' /&gt;
          &lt;/BootstrapperApplicationRef&gt;
  
          &lt;Chain&gt;
              &lt;PackageGroupRef Id="MyApplicationPackage" /&gt;
          &lt;/Chain&gt;
      &lt;/Bundle&gt;
  &lt;/Wix&gt;
  </code></pre>
  
  <p>and I have added MyBA.BootstrapperCore.config</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;configuration&gt;
      &lt;configSections&gt;
          &lt;sectionGroup name="wix.bootstrapper"
                        type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup, BootstrapperCore"&gt;
              &lt;section name="host"
                       type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection, BootstrapperCore" /&gt;
          &lt;/sectionGroup&gt;
      &lt;/configSections&gt;
      &lt;startup useLegacyV2RuntimeActivationPolicy="true"&gt;
          &lt;supportedRuntime version="v4.0" /&gt;
      &lt;/startup&gt;
      &lt;wix.bootstrapper&gt;
          &lt;host assemblyName="MyBA"&gt;
              &lt;supportedFramework version="v4\Full" /&gt;
              &lt;supportedFramework version="v4\Client" /&gt;
          &lt;/host&gt;
      &lt;/wix.bootstrapper&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>However, whenever I run the Setup.exe for the bootstrapper, I get the splashscreen appear briefly, but nothing else.  If I look in the %TEMP% at the logs there is the following</p>
  
  <pre><code>[0A00:0424][2011-11-02T15:52:08]: Burn v3.6.2221.0, path: C:\MyApplication\dev\source\Bootstrapper1\bin\Debug\Setup.exe, cmdline: ''
  [0A00:0424][2011-11-02T15:52:08]: Setting string variable 'WixBundleName' to value 'MyApplication'
  [0A00:0424][2011-11-02T15:52:08]: Setting string variable 'WixBundleLog' to value 'C:\Users\AppData\Local\Temp\MyApplication_20111102155208.log'
  [0A00:0424][2011-11-02T15:52:08]: Condition 'NOT ((VersionNT = 600 AND ServicePackLevel &gt;=2) OR (VersionNT &gt;= 601))' evaluates to true.
  [0A00:0424][2011-11-02T15:52:08]: Setting string variable 'WixBundleOriginalSource' to value 'C:\MyApplication\dev\source\Bootstrapper1\bin\Debug\Setup.exe'
  [0A00:0424][2011-11-02T15:52:08]: Loading managed bootstrapper application.
  [0A00:0424][2011-11-02T15:52:08]: Error 0x80131040: Failed to create the managed bootstrapper application.
  [0A00:0424][2011-11-02T15:52:08]: Error 0x80131040: Failed to create UX.
  [0A00:0424][2011-11-02T15:52:08]: Error 0x80131040: Failed to load UX.
  [0A00:0424][2011-11-02T15:52:08]: Error 0x80131040: Failed while running
  [0A00:0424][2011-11-02T15:52:08]: Error 0x80131040: Failed to run per-user mode.
  </code></pre>
  
  <p>Why is this happening and why are the above errors occurring?</p>