[wix-devs] Bal.wixext BA x64/ARM64 support

Sean Hall r.sean.hall at gmail.com
Wed Jul 15 15:06:48 PDT 2020


I don't think the ContainerRef with well-known Id is very discoverable.

Earlier, you said "We could also decide if BootstrapperApplication element
should allow children or instead make developer use new
"BootstrapperApplicationContainer" element." I'm starting to think we do
need to change how BootstrapperApplication works.

I think we should make the new BootstrapperApplicationContainer element
have an Id that can then be referenced with
BootstrapperApplicationContainerRef elements. Require
BootstrapperApplication to be a child of one of them and get rid of
BootstrapperApplicationRef. I'm not sure whether to keep the payload
information on the BootstrapperApplication element or require a single
Payload or PayloadRef child element. Or maybe get rid of
BootstrapperApplication altogether and have an attribute for a Payload that
designates it as the BA.

So for conversion, BootstrapperApplication would be converted to
BootstrapperApplicationContainer except all of the payload information
would be moved into a new child BootstrapperApplication/Payload element. I
think BalExtension has some custom attributes targeting
BootstrapperApplication, so maybe we would need to keep that element and
move those as well. BootstrapperApplicationRef would be converted to
BootstrapperApplicationContainerRef.

I believe this is similar to what Bob was requesting in
https://github.com/wixtoolset/issues/issues/4183. Making an element act as
a payload and something else seems to have been a bad design.

On Thu, Jul 16, 2020 at 2:25 AM Rob Mensching <rob at firegiant.com> wrote:

> "BootstrapperApplicationContainer" is fine. I mentally changed everything
> to "Bundle" but I understand that's not a reality. <smile/>
>
> If using a "Ref" is preferred, I could definitely see a case for adding a
> well-known container name and use ContainerRef* to reference it. This
> probably isn't as bad as I thought it was since we already have several
> well-known identifiers out there. This would look like:
>
>    <ContainerRef Id="BootstrapperApplicationContainer">
>     <Payload ...
>     <Payload ...
>     <Payload ...
>    </ContainerRef>
>
> Given the number of other well-known identifiers in the world, I could be
> pretty easily convinced of this latter solution.
>
> * plus add ability to have child payloads under ContainerRef
>
>
> -----Original Message-----
> From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Sean
> Hall via wix-devs
> Sent: Tuesday, July 14, 2020 3:23 PM
> To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> Cc: Sean Hall <r.sean.hall at gmail.com>
> Subject: Re: [wix-devs] Bal.wixext BA x64/ARM64 support
>
> 2. I guess I should have gone back and read your previous email. Based on
> what you said earlier today, it sounded like you wanted to do a
> ContainerRef with an Id of BundleApplicationContainer.
>
> I think it's weird for a non-Ref element to merge, but if you're that
> strongly against a Ref element that doesn't have an Id then that's fine.
>
> I'd rather have BootstrapperApplicationContainer than
> BundleApplicationContainer unless we're going to rename
> BootstrapperApplication after all. Which I still don't want to do. I would
> also go for a different name if someone comes up with a better one.
>
> On Wed, Jul 15, 2020 at 8:05 AM Rob Mensching <rob at firegiant.com> wrote:
>
> > 1. Okay, I guess I misunderstood the purpose of the Theme attribute. I
> > thought it was going to be used in the Bal.wixext to create
> > appropriate payload references.
> >
> > 2. I proposed "BundleApplicationContainer" to be the element that
> > merges together. Same idea (I think) just no "Ref" on the end.
> >
> > Open to better names as always.
> >
> >
> > -----Original Message-----
> > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> > Sean Hall via wix-devs
> > Sent: Tuesday, July 14, 2020 3:00 PM
> > To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> > Cc: Sean Hall <r.sean.hall at gmail.com>
> > Subject: Re: [wix-devs] Bal.wixext BA x64/ARM64 support
> >
> > 1. Look at
> >
> > https://github.com/wixtoolset/Bal.wixext/blob/master/src/wixlib/wixstd
> > ba.wxs
> > .
> > The theme, loc file, and logo are all customizable through WixVariables.
> > It's also inserting custom data into the BA manifest. This is not
> > something I want to address in this issue.
> >
> > 2. Does anyone else have any other ideas? All of mine are getting shot
> > down.
> >
> >
> > On Wed, Jul 15, 2020 at 7:35 AM Rob Mensching <rob at firegiant.com> wrote:
> >
> > > 1. Why is this hard? If there is going to be an enum Theme
> > > attribute, ensuring the value is copasetic with the ThemeFile
> > > attribute isn't a big deal. Or am I missing something.
> > >
> > > 2b. We should not introduce a "Ref" element without "Id".
> > >
> > >
> > > -----Original Message-----
> > > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> > > Sean Hall via wix-devs
> > > Sent: Tuesday, July 14, 2020 2:31 PM
> > > To: WiX Toolset Developer Mailing List
> > > <wix-devs at lists.wixtoolset.org>
> > > Cc: Sean Hall <r.sean.hall at gmail.com>
> > > Subject: Re: [wix-devs] Bal.wixext BA x64/ARM64 support
> > >
> > > 1. How strongly do you feel about that? This is a rabbit hole I
> > > don't want to go down.
> > >
> > > 2b. There is always exactly one UX container in a bundle and that's
> > > what BootstrapperApplicationContainerRef would be referencing. I get
> > > that we haven't done that before but I think it makes sense to bake
> > > the Id into the element name here.
> > >
> > > On Wed, Jul 15, 2020 at 5:03 AM Rob Mensching <rob at firegiant.com>
> wrote:
> > >
> > > > 1. I missed that "Theme" was purely an add. In that case,
> > Theme="custom"
> > > > (or something to that effect) could be required to use "ThemeFile".
> > > >
> > > > 2a. Yeah, that's busted behavior. We shouldn't do that.
> > > >
> > > > 2b. "Ref"s have "Id"s and reference "something". We don't have
> > > > many elements that merge but I think that makes most sense in this
> case.
> > > > The alternative is to use a "ContainerRef" element to a well-known
> > > > name--like "BundleApplicationContainer"--and allow ContainerRef to
> > > > have child payloads but that isn't more discoverable.
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf
> > > > Of Sean Hall via wix-devs
> > > > Sent: Wednesday, July 8, 2020 3:37 PM
> > > > To: WiX Toolset Developer Mailing List
> > > > <wix-devs at lists.wixtoolset.org>
> > > > Cc: Sean Hall <r.sean.hall at gmail.com>
> > > > Subject: Re: [wix-devs] Bal.wixext BA x64/ARM64 support
> > > >
> > > > 1. I'm just translating what was happening in v3. When picking an
> > > > Id to reference, there was no vanilla
> > > > WixStandardBootstrapperApplication
> > > > Id. You can always overwrite the theme using the existing
> > > > ThemeFile
> > > attribute.
> > > >
> > > > 2a. This problem you're worried about already exists is a slightly
> > > > different form - https://github.com/wixtoolset/issues/issues/5273.
> > > >
> > > > 2b. I was thinking about merging, which is why I suggested
> > > > BootstrapperApplicationContainerRef not
> > > > BootstrapperApplicationContainer. I think I prefer this one.
> > > >
> > > > On Thu, Jul 9, 2020 at 8:09 AM Rob Mensching <rob at firegiant.com>
> > wrote:
> > > >
> > > > > 1. I'm a little concerned about making Theme an enum. I guess we
> > > > > couldn't add a Theme without update the extension, so the enum
> > > > > could be enhanced at that time. But isn't it possible to provide
> > > > > your own
> > > > custom theme in v3?
> > > > >
> > > > > 2. I'm waffling between two options for including more payloads
> > > > > into the BA container:
> > > > >
> > > > > 2a. The "BootstrapperApplication='yes'" option - this is
> > > > > probably the easiest to slip into the system. I worry a bit
> > > > > about what happens if you create a payload group with mixed use
> > > > > of BootstrapperApplication,
> > > > like:
> > > > >    <PayloadGroup Id="Stuff">
> > > > >      <Payload Source="bastuff.bmp" BootstrapperApplication="yes" />
> > > > >      <Payload Source="notbastuff.bmp" />
> > > > >    </PayloadGroup>
> > > > >
> > > > > 2b. Introduce "BootstrapperApplicationContainer" (or better
> > > > > name) element
> > > > > - this would allow child Payload and PayloadGroups elements and
> > > > > all resulting child Payloads (after flattening) would be
> > > > > BootstrapperApplication data. That avoids the problem above. We
> > > > > would then need to decide if "BootstrapperApplicationContainer"
> > > > > can be defined multiple times and silently merge or if there can
> > > > > be only
> > > one.
> > > > > We could also decide if BootstrapperApplication element should
> > > > > allow children or instead make developer use new
> > > > "BootstrapperApplicationContainer" element.
> > > > >
> > > > > If we went with 2b. I think I'd go with silent merging (like the
> > > > > UI
> > > > > element) and allow BootstrapperApplication to continue to act as
> > > > > a BootstrapperApplicationContainer. That should also be pretty
> > > > > minimally disruptive, I think.
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf
> > > > > Of Sean Hall via wix-devs
> > > > > Sent: Wednesday, July 8, 2020 5:50 AM
> > > > > To: WiX Toolset Developer Mailing List
> > > > > <wix-devs at lists.wixtoolset.org>
> > > > > Cc: Sean Hall <r.sean.hall at gmail.com>
> > > > > Subject: Re: [wix-devs] Bal.wixext BA x64/ARM64 support
> > > > >
> > > > > I created a WIP for this at
> > > > > https://wixtoolset.org/development/wips/6209-multi-architecture-
> > > > > bal/
> > .
> > > > > We need to decide how to expose the UX container in authoring.
> > > > >
> > > > __________________________________________________________________
> > > > __ WiX Toolset Developer Mailing List provided by FireGiant
> > > > http://www.firegiant.com/
> > > >
> > > ____________________________________________________________________
> > > WiX Toolset Developer Mailing List provided by FireGiant
> > > http://www.firegiant.com/
> > >
> > ____________________________________________________________________
> > WiX Toolset Developer Mailing List provided by FireGiant
> > http://www.firegiant.com/
> >
> ____________________________________________________________________
> WiX Toolset Developer Mailing List provided by FireGiant
> http://www.firegiant.com/
>



More information about the wix-devs mailing list