[wix-devs] Burn Variable breaking changes

Sean Hall r.sean.hall at gmail.com
Fri Jul 17 22:02:08 PDT 2020


>  SetVariableString(string value, bool formatted);

That seems reasonable.

>  that doesn't change the underlying type (assuming that's a thing)

I don't want that to be a thing. We're designing this where the string is
declared to be literal or formatted when you're setting the variable. We
theoretically could have done it differently where you somehow prevented
the recursion when using the variable but we didn't go that way.

I've been thinking about this literal concept. Everything that you can do
with literals, you can also do with just escaping the string. I think we
went with literal in v3 because of the backwards compatibility of getting
the unescaped value when a BA called GetVariableString. I think the
convenience of "literal" is worth it, I just thought I would mention that
we technically could do without it.

On Sat, Jul 18, 2020 at 8:49 AM Rob Mensching <rob at firegiant.com> wrote:

> That's very true. Maybe moving setting formatted strings behind a second
> method isn't the way to go. Perhaps force the decision on all set string
> calls?
>
>    SetVariableString(string value, bool formatted);
>
> Then it's always clear what is being done to a string. I suppose an
> override could be:
>
>    SetVariableString(string value);
>
> that doesn't change the underlying type (assuming that's a thing).
>
>
> -----Original Message-----
> From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Sean
> Hall via wix-devs
> Sent: Thursday, July 16, 2020 1:34 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] Burn Variable breaking changes
>
> What happens with the BAEngine method SetVariableString? If we do change
> "string" to mean literal and add "formatted", does SetVariableString now
> set it to a literal value and we add SetVariableFormatted? I'm really
> hesitant to do that. We can at least convert the authoring, but this would
> be a really hidden breaking change.
>
> On Thu, Jul 16, 2020 at 4:49 AM Bob Arnson via wix-devs <
> wix-devs at lists.wixtoolset.org> wrote:
>
> > I've already whined about the behavior changes we're making not being
> > discoverable. This is another instance, though it's honestly way
> > easier to get this from documentation than some of the others...
> >
> > -----Original Message-----
> > From: Rob Mensching <rob at firegiant.com>
> > Sent: Wednesday, 15 July, 2020 14:38
> > To: Bob Arnson <bob at firegiant.com>; WiX Toolset Developer Mailing List
> > < wix-devs at lists.wixtoolset.org>
> > Subject: RE: [wix-devs] Burn Variable breaking changes
> >
> > Booooo! I still vote to "do the right thing" (for the WiX lexicon) and
> > not introduce "literal" but will accept being voted down if it goes that
> way.
> >
> >
> > Sean will get to decide "string" vs "literal" as he's implementing it.
> >
> >
> > I think we agree on everything else except this name.
> >
> >
> > -----Original Message-----
> > From: Bob Arnson <bob at firegiant.com>
> > Sent: Wednesday, July 15, 2020 11:07 AM
> > To: Rob Mensching <rob at firegiant.com>; WiX Toolset Developer Mailing
> > List <wix-devs at lists.wixtoolset.org>
> > Subject: RE: [wix-devs] Burn Variable breaking changes
> >
> > Normally, so would I, but in this, we're changing the default. That's
> > "legal" in a v.0 but worries me as hard to track/document/socialize.
> >
> > -----Original Message-----
> > From: Rob Mensching <rob at firegiant.com>
> > Sent: Wednesday, 15 July, 2020 12:28
> > To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> > Cc: Bob Arnson <bob at firegiant.com>
> > Subject: RE: [wix-devs] Burn Variable breaking changes
> >
> > I agree with all this but I lean more towards using "string" instead
> > of "literal".
> >
> > Literal would be a new keyword and given "string" behaves as
> > non-formatted in WiX today, I lean towards just using that.
> >
> > I could be overruled though.
> >
> > -----Original Message-----
> > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> > Bob Arnson via wix-devs
> > Sent: Tuesday, July 14, 2020 5:52 PM
> > To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> > Cc: Bob Arnson <bob at firegiant.com>
> > Subject: Re: [wix-devs] Burn Variable breaking changes
> >
> > +1
> >
> > -----Original Message-----
> > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> > Sean Hall via wix-devs
> > Sent: Tuesday, 14 July, 2020 20:35
> > 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
> >
> > I'd be fine with getting rid of "string" and having "formatted" and
> > "literal". We still have to decide the type that gets chosen for you
> > when you author a Variable with a value but not a type. <Variable
> Name="myvar"
> > Value="mystring" /> gets coerced to Type="string" today. I'm slowly
> > coming around to "literal" being the default.
> >
> > ____________________________________________________________________
> > 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