[wix-devs] WiX v4 id versioning

Sean Hall r.sean.hall at gmail.com
Tue Mar 3 11:48:34 PST 2020


Rob's original email only talked about Nuget package id's so that was what
I was responding to. I'm guessing that's because nobody is against just
adding Wix4 in front of all the table names, etc?

On Wed, Mar 4, 2020, 02:18 Bob Arnson <bob at firegiant.com> wrote:

> I worry about claiming we can never have breaking changes...
>
> I'm mostly focused on solving the problem of consuming WiX v3-generated
> merge modules, which at the very least means table names need to change.
> Theoretically other ids can have their modularization GUIDs suppressed, so
> they should change too.
>
> At the moment, I'm trying a change that adds a prefix ("Wix4") to ids
> (including table names) and suffixes for architecture. This also gets
> everything consistent, whereas today we have newer extensions with "Wix"
> prefixes and older ones without.
>
> -----Original Message-----
> From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Sean
> Hall via wix-devs
> Sent: Tuesday, 3 March, 2020 03:22
> 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] WiX v4 id versioning
>
> I like consistency. So we should disallow breaking changes in extensions,
> which means the version doesn't have to be in the id. All the versions
> would be v4.x.#.
>
> Or if we allow breaking changes, WixToolset.v4.x for everything and start
> at v1.0.0. Note that the table names, Binary Id's, etc would also need to
> be updated when the major version gets incremented.
>
>
> On Thu, Feb 7, 2019, 16:50 Hoover, Jacob via wix-devs <
> wix-devs at lists.wixtoolset.org> wrote:
>
> > I would agree w/ Blair in having ".v4." before the extension. As for
> > the core, I almost think for consistency we would want to also have v4
> > early in it, but I don't have as strong as an opinion on that.
> >
> >
> > -----Original Message-----
> > From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On
> > Behalf Of Rob Mensching via wix-devs
> > Sent: Wednesday, February 6, 2019 10:47 AM
> > To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> > Cc: Rob Mensching <rob at firegiant.com>
> > Subject: Re: [wix-devs] WiX v4 id versioning
> >
> > Anyone else?
> >
> > From: Blair Murri <osito at live.com>
> > Sent: Thursday, January 31, 2019 6:27 PM
> > To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> > Cc: Rob Mensching <rob at firegiant.com>
> > Subject: Re: WiX v4 id versioning
> >
> > WixToolset.MSBuild v4.0.#
> > WixToolset.v4.Util.wixext v1.0.#
> > Would be my vote
> > Blair
> > Get Outlook for Android<https://aka.ms/ghei36>
> >
> > ________________________________
> > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org<mailto:
> > wix-devs-bounces at lists.wixtoolset.org>> on behalf of Rob Mensching via
> > wix-devs <wix-devs at lists.wixtoolset.org<mailto:
> > wix-devs at lists.wixtoolset.org>>
> > Sent: Thursday, January 31, 2019 8:53:48 AM
> > To: WiX Toolset Developer Mailing List
> > Cc: Rob Mensching
> > Subject: [wix-devs] WiX v4 id versioning
> >
> > As discussed in the meeting #162 (
> > https://www.firegiant.com/blog/2019/1/17/wix-online-meeting-162-highli
> > ghts/) there was a discussion about WiX Extension versioning. There
> > were some random discussions here after that meeting about that topic
> > but I wanted to focus it on a single thread.
> >
> > I'm going to assume you're caught up on the conversation. If not, go
> > back and watch the meeting linked in the blog above.
> >
> > I posit there are two "types" of versions we need to consider here:
> > the core toolset and extensions. (There is actually a third version if
> > we include Votive but since Votive multi-targets WiX Toolset versions
> > (v3 and
> > v4) it's pretty clearly on its own).
> >
> > We can choose to make the versioning scheme of the core the same as
> > extensions but we don't have to.
> >
> > There are two parts to consider: the "id" part and the "version" part.
> > The "id" part is a string that must start with "WixToolset." (to
> > reserve the namespace). The "version" part is a semver-based version.
> >
> > In these examples, I'll be using "#" to designate the automatically
> > increasing "build number" (actually GitVersioning number but that
> > detail isn't important).
> >
> > Today the core has this important package:
> >
> >                 WixToolset.MSBuild        v4.0.#
> >
> > Also today, arguably the most used extension is:
> >
> >                 WixToolset.Util.wixext  v4.0.#
> >
> > Of course, the issue is how to "match" the v4 WixToolset.Util.wixext
> > to the v4 WixToolset.MSBuild after we create v5 WixToolset.MSBuild and
> > need to start creating v5 extensions. Semver on WixToolset.MSBuild is
> > fine because we can go from v4.0.# to v5.0.# and demonstrate the big
> breaking change*.
> >
> > However, a breaking change in WixToolset.Util.wixext going from v4.0.#
> > to v5.0.# would make it confusing which versions of
> > WixToolset.Util.wixext went with which versions of WixToolset.MSBuild
> > (i.e. WixToolset.Util.wixext v4.0.# and v5.0.# both target
> > WixToolset.MSBuild v4.0.#). It also could be confusing if we have a
> > WixToolset.MSBuild v4.1.# and WixToolset.Util.wixext has v4.0.# and
> v4.1.# and v4.2.#.... which maps to which?
> >
> > So, one option is to push a piece of the version into the "id" part.
> > If we do that then the question is where to put it and do we reset the
> "version"
> > part to 1.0?
> >
> > Here are some permutations to consider:
> >
> >                 WixToolset.Util.wixext4                v1.0.#
> >                 WixToolset.Util.wix4ext                v1.0.#
> >                 WixToolset.v4.Util.wixext            v1.0.#
> >
> >                 WixToolset.Util.wixext4                v4.0.#
> >                 WixToolset.Util.wix4ext                v4.0.#
> >                 WixToolset.v4.Util.wixext            v4.0.#
> >
> > Others?
> >
> > If we wanted to push the version into the id for the core* then it
> > could be one of these (or others?):
> >
> >                 WixToolset.v4.MSBuild                 v1.0.#
> >                 WixToolset.v4.MSBuild                 v4.0.#
> >
> > So, I'm looking for permutations that people think would be useful (or
> > vote for something already proposed).
> >
> >
> >
> > * Although if someone wants to argue that we need to be able to have
> > big breaking changes *within* the WiX v4 release, I'd be interested to
> hear it.
> >
> > Regards,
> >
> >   Rob Mensching
> >   CEO
> >  FireGiant
> > _______________________________________________________________
> > FireGiant  |  Dedicated support for the WiX toolset  |
> > 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/
> > NOTE: This email was received from an external source. Please use
> > caution when opening links or attachments in the message.
> > ____________________________________________________________________
> > 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