Integrating Windows installer Windows Bonjour into our msi

I was asked to associate the Apple Bonjour installer with our MSI installer, so Bonjour is automatically installed with our software. Has anyone done this before? This does not seem trivial, since the msi installer cannot turn on and start another. I assume that I will need some kind of batch file to run two installers in sequence?

+7
source share
4 answers

This will be a bit more work and prone to upgrade issues, but you can take Bonjour MSI and decompile it using dark. Convert the decompiled MSI to a Merge module, which can be included in your installer, and you will have one installation. I have done this with some driver installations in the past, and usually it is not that difficult.

+1
source

You will need to use the bootloader to link the Bonjour installation with your installer. If you are using WiX 3.6 or later, using Burn to create a package is a good option.

I found the Bonjour installer by downloading the Bonjour SDK and opening it in 7-zip, although I am sure that installing the SDK will also provide access to it.

I usually like to do this by adding a new source file to your installation project for each dependency package so that this logic is separate from the main installation of the application.

The Bonjour package can be specified as a remote payload for on-the-fly search or embed it in your setup. In this case, most likely, it will be built (compressed = "yes"). If you need to add any additional dependencies related to bonjour or parameters to go into it, you can also define them here.

<Fragment> <!-- if a web link actually exists, I didn't find it... --> <?define BonjourWebLink = "http://path/to/Bonjour.msi"?> <PackageGroup Id="BonjourWeb"> <MsiPackage Id="BonjourWeb" Compressed="no" DownloadUrl="$(var.BonjourWebLink)"> </MsiPackage> </PackageGroup> <PackageGroup Id="Bonjour"> <MsiPackage Id="Bonjour" Compressed="yes" SourceFile="path\to\Bonjour.msi"/> </PackageGroup> </Fragment> 

In your main bundle, you just need to add a link to the correct package group.

 <Chain> <PackageGroupRef Id="Bonjour"/> <MsiPackage SourceFile="path\to\YourProduct.msi"/> </Chain> 

Since Bonjour uses MSI instead of an executable, you do not need to do anything to determine if it is present or not; Burn will handle this for you. In fact, since WiX collects most of the information your package needs from MSI, this may be redundant, and you can simply directly add the MsiPackage element to your chain.

Be sure to carefully check Apple’s terms for this.

+9
source

You need a bootloader; there are several freely available there, including one being developed on WiX called Burn.

+1
source

Wix Burn is relatively stable now. I am using Wix 3.8.

If you are allowed to redistribute the Bonjour Installer program, you can associate the installer with Wix Burn. You can even set a condition to specify Bonjour as a prerequite for your installer. If it is not, then Bonjour will be deployed, otherwise it can be skipped.

You can check this link for an understanding of Burn.

http://wixtoolset.org/documentation/manual/v3/bundle/

0
source

All Articles