D'oh. Yeah, I can't think of a backward-compatible way to exclude that particular fragment. I ran into a similar problem when I added the BalExtension elements for WixStdBA/MbaHost. You could add a new BootstrapperApplication fragment that didn't pull in MbaPreqLicenseFileMinimal/MbaPreqLicenseUrlMinimal. But then you'd end up with duplicate rows... <sigh>

Have I mentioned I hate magic variables?

OK, so the authoring for the NetFx packages themselves can't use the attribute in wix3.

On 18-May-14 20:31, Sean Hall wrote:
Thanks. I want the NetFxExtension library to use the new attribute instead of WixMbaPrereqPackageId, but with the current authoring I can't. The current row uses binder variables, which means the WixMbaPrereqPackageId has to be specified. Which is why I wanted to get rid of that and make the extension code create the row.


On Sun, May 18, 2014 at 7:11 PM, Bob Arnson <[email protected] <mailto:[email protected]>> wrote:

    The WixMbaPrereqPackageId variable is only used at build time to
    fill out the WixMbaPrereqInformation table in the BA manifest.
    It's all done in authoring, not extension code: see
    src\ext\BalExtension\wixlib\Mba.wxs. Normally it has only one row
    but you could use the same table instead of adding a new one. That
    would let WixMbaPrereqPackageId keep working if it's used.
    Otherwise, your changes to the compiler extension would keep
    adding rows like it does in the pull request, just to the existing
    table. And the NetFxExtension library could use that attribute
    instead of the variable.

    Off the top of my head, that should work ok and it eliminates the
    duplication between having one "special" prereq package and <n>
    others.

    On 18-May-14 18:38, Sean Hall wrote:
    It's definitely silly :)

    I think the best thing to do is to change the implementation of
    the WixMbaPrereqPackageId variable to look the same to the Prereq
    BA, which was probably what Rob was trying to tell me.  To be
    fully backwards compatible, the Bal extension could add an
    attribute that says to always install the package.  This
    attribute wouldn't be exposed to the user, and setting this
    variable in v4.x wouldn't do anything.

    However, I don't know how to do this.  This was the first time I
    had messed around with a compiler extension.  How would the Bal
    extension find out that the variable was set so that it could add
    that packageId to the table?



------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs


_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

--
sig://boB
http://joyofsetup.com/

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to