wixwix3.11

How to resolve BootstrapperApplicationRef in Wix Toolset 3.11?


I get error messages related to my BootstrapperApplicationRef which I do not understand as these come from examples based on the well known wix book and also this example. Maybe it is because I use version 3.11 of the toolset (the book is based on 3.6)? My installer needs to install some software to download.

Here is my wxs:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Awesome Software"
Version="1.0.0.0"
Manufacturer="Awesome Company"
UpgradeCode="c352f5c7-1dbe-416c-820d-685b058270d5">
<BootstrapperApplicationRef
Id="WixStandardBootstrapperApplication.RtfLicense" />
  
<Chain>
  <ExePackage Id="DymoLabelSoftware"
       SourceFile="DLS8Setup.8.5.1.exe"
       DownloadUrl="http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.1.exe" />
</Chain>

</Bundle>
</Wix>

Compiling results in the following error message:

Unresolved reference to symbol 'WixBootstrapperApplication:WixStandardBootstrapperApplication.RtfLicense'

Changing this element as described here, results in the following message:

Unresolved reference to symbol 'WixBootstrapperApplication:WixNetFxExtension'

Removing the BootstrapperApplicationRef results in another error message:

Unresolved reference to symbol 'WixBootstrapperApplication:WixNetFxExtension'

I can understand that something is unresolved but the found examples to resolve it simply do not work. How can I fix this? How to resolve this reference without getting an error message?

Update 1

I tried to make this work with a bootstrapper project instead. That partially solved my problem.

I just get another error message.

The system cannot find the file 'DLS8Setup.8.5.1.exe'.

This is really strange. The compiler should not try to find it at compile time. It is something to be downloaded at runtime. I tried making this work by adding a dummy DLS8Setup.8.5.1.exe.

However, when looking up my result in my bin\Debug folder, I get an application that, when double clicking, does not show a user interface. This approach does not really solve my problems, it changes my problem.

It just want to have an installer that shows some user interface when starting and does execute a download. That's all.

enter image description here

Update 2

Using the other example to download just give other errors too.

enter image description here


Solution

  • So here's working sample based on your updates:

    <?xml version="1.0" encoding="UTF-8"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
      <Bundle Name="DLS8SetupBootstrapper" Version="1.0.0.0" Manufacturer="me" UpgradeCode="ada71964-11c8-4877-9544-f72fe65579c0">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
        <Chain>
          <ExePackage Id="DymoLabelSoftware"
            Name="DLS8Setup.8.5.1.exe"
            Compressed="no"
            DownloadUrl="http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.1.exe">
              <RemotePayload Description="MyRemoteApp" ProductName="DLS8Setup.8.5.1.exe" Size="119087088" Version="8.5.1.0" Hash="204ecb5296290527418693f3a464b59a8801808f"/>
          </ExePackage>
        </Chain>
      </Bundle>
    </Wix>
    

    Note that you need to know size in bytes and sha1 hash of your file. Also "Name" is important attribute.

    To check hash I used this resource

    Haven't found how to get size online so here's C# sample:

    var sizeInBytes = new FileInfo("D:\\DLS8Setup.8.5.1.exe").Length;
    

    So just update that variables for your file and you'll get your installer.

    P.S. It will show that DLS8Setup installer GUI. If you need do it silent it will depend on every installer. As I get you want to use your own, not that one from example, so I can't do anything without your file.