[wix-users] Delay installing (application) pre-requisites

Rob Mensching rob at firegiant.com
Tue Oct 27 09:25:06 PDT 2015


Yes. It is so confusing I felt compelled to try to help fix the misconceptions it might spread: http://stackoverflow.com/a/33373290/23852

_____________________________________________________________
 Short replies here. Complete answers over there: http://www.firegiant.com/


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Tuesday, October 27, 2015 9:08 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Delay installing (application) pre-requisites

I don't think this runs against the Burn ethos at all, and the SO post is more confusing than informative.

The 'mbaprereq' installer for Burn, only comes into play when you have a managed BA application, in which case .Net is needed for the installer to run.  But all other prereqs, including a different version of .Net than the version used by the installer, are listed in your bundle chain and completely under your control as to whether they will be installed.  The exact approach depends on whether you are using a mba or WixStdBA and other factors.

I originally used WixStdBA (which is all c++) so there is no .Net dependency (or wix provided prereq).  I have one app that requires NetFx3 and others require NetFx4, so in a WixStdBA one approach is to use Variables with Overwritale="yes" which you BA then sets, to condition your ExePackage/@InstallCondition using the variables.  For WixStdBA you can use a BAfunctions.dll for most Detect and Plan scenarios, (or you could write a c++ BA).  But generally the common approach when more flexibility is needs is to create a managed ba.  The Setup\WixBA in the wix source is not a tutorial, but is a functional example that is useful to study.   In my case I let the wix mbaprereq install the NetFx4.5 that my installer needs (and most of my apps also need), but I still have the pesky app that needs NetFx3, which I only install optionally by using PlanPackageBegin handle.  And I take a similar approach for other optional packages (msi or EXE) like SQL Server.  And if you look at the str
 ucture of other wix based installers, like the ones produced by Microsoft they also have optional dependencies which are selectable at runtime in a Burn chain.


More information about the wix-users mailing list