[wix-devs] Burn Variable breaking changes
Bob Arnson
bob at firegiant.com
Sun Jun 28 15:00:21 PDT 2020
I've done paths in BAs before and I don't know what you're talking about. FWIW.
-----Original Message-----
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Sean Hall via wix-devs
Sent: Sunday, 28 June, 2020 17:30
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] Burn Variable breaking changes
If you have a BA that's asking for a path, then you need behavior 1.
Otherwise, your bundle is not going to work correctly when the user picks a path with Variable special characters.
On Mon, Jun 29, 2020 at 6:39 AM Bob Arnson <bob at firegiant.com> wrote:
> FWIW, I've done more than a few BAs and never needed behaviors 1 to 3.
>
> -----Original Message-----
> From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> Sean Hall via wix-devs
> Sent: Sunday, 28 June, 2020 00:53
> 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] Burn Variable breaking changes
>
> There's a few scenarios for 4863.
>
> 1. Path variable. This one's straightforward, the editbox should be
> populated with the literal value of the target variable. When saving,
> the variable needs to have the contents of the editbox as a literal value.
>
> 2. Random string - user can't use Variables. The editbox should be
> populated with the formatted value of the target variable. When
> saving, the variable needs to have the escaped contents of the editbox
> as the value ("abc[def]" needs to be saved as "abc[\[]def[\]]").
>
> 3. Random string - user can use Variables. The editbox should be
> populated with... I don't know. Should it be the formatted or
> unformatted value of the target variable? When saving, the variable
> needs to have the unescaped contents of the editbox as the value.
>
> 4. Current v3 behavior. The editbox is populated with the unformatted
> value of the target variable. The contents of the editbox are saved
> unescaped.
>
> Even if we don't want to support some of these, I don't know how we
> get around thmutil needing to know whether to alter the value before saving it.
> In that case, I would rather not have Variable/@Literal and instead
> add a new variant type of BURN_VARIANT_TYPE_LITERAL_STRING. I feel
> like it's more correct in saying that a string value is literal,
> instead of declaring a Variable to be literal.
>
> On Sat, Jun 27, 2020 at 4:22 AM Bob Arnson <bob at firegiant.com> wrote:
>
> > I can't speak to managed BAs but in general, it seems like the BA
> > would know about the variables it's querying or, if not, wouldn't
> > care about the underlying type.
> >
> > -----Original Message-----
> > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> > Sean Hall via wix-devs
> > Sent: Thursday, 25 June, 2020 19:18
> > 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] Burn Variable breaking changes
> >
> > Does Variable/@Literal just work? I'd have to think about the
> implications.
> > There'd be a bit on the Variable saying it's Literal, and there's
> > also the existing bit on the Variant saying the value's Literal. I'm
> > not sure if there needs to be support for asking whether the
> > variable is a literal string. Which is why I brought 5319 into this
> > discussion. If we don't need or want to add the ability for the BA
> > to query the current type of a variable, then I'll probably get rid
> > of the separate
> collections.
> >
> > On Fri, Jun 26, 2020 at 2:16 AM Bob Arnson <bob at firegiant.com> wrote:
> >
> > > On 4863, I'm a little leery of trying to make thmutil too smart;
> > > if the bundle authoring can express the intent
> > > (Variable/@Literal="yes"?), then I'd say that's probably the
> > > better
> > option.
> > >
> > > On 5319, I don't know enough about managed BAs to say much, but
> > > I've always found it weird that the different variable types are
> > > exposed in different collections, even if it makes sense when using them.
> > >
> > > -----Original Message-----
> > > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf
> > > Of Sean Hall via wix-devs
> > > Sent: Thursday, 25 June, 2020 07:47
> > > To: WiX Toolset Developer Mailing List
> > > <wix-devs at lists.wixtoolset.org>
> > > Cc: Sean Hall <r.sean.hall at gmail.com>
> > > Subject: [wix-devs] Burn Variable breaking changes
> > >
> > > I'd like to design the following issues so I know which ones
> > > require a breaking change:
> > >
> > > https://github.com/wixtoolset/issues/issues/4763
> > > https://github.com/wixtoolset/issues/issues/4863
> > > https://github.com/wixtoolset/issues/issues/5319
> > >
> > > 4763 added the ability for Burn to set a variable as a literal string.
> > > I think it's pretty straightforward to expose
> > > VariableSetLiteralString to the BA. Doesn't seem to be a breaking
> change.
> > >
> > > 4863 is about wixstdba (through thmutil) allowing an editbox to be
> > > either a literal string or a formatted string. If it's a literal
> > > string, then the value should not be expanded when populating the
> > > editbox. If it's a formatted string, then the value should be
> > > expanded when populating the editbox. Should thmutil ask for a
> > > SetLiteralStringVariable callback and the editbox is configured as
> > > literal/formatted in the theme? Or can a variable be authored as a
> > > literal string (so thmutil and wixstdba won't be aware that
> > > they're setting a literal string, the Burn engine will just handle it)?
> > > Making thmutil format the variable when populating the editbox is
> > > a breaking
> > change, but adding the literal support doesn't seem to be breaking.
> > >
> > > 5319 is about the managed BootstrapperEngine implementation where
> > > it exposes StringVariables, NumericVariables, and
> > > VersionVariables. The complaint is that calling
> > > NumericVariables.Contains("StringVariableA")
> > > returns true even though the variable is actually a string and not
> > > a number. Do we remove the Contains method from all 3 and provide
> > > a single Contains method so it doesn't imply that the variable is
> > > of the requested type? Or does Burn provide a way to expose what
> > > the current type of a variable is? Either way sounds like a
> > > breaking
> change.
> > > __________________________________________________________________
> > > __ 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