[wix-devs] WiX v4 id versioning

Bob Arnson bob at firegiant.com
Tue Mar 3 11:55:00 PST 2020


I'm happy to assume that. 

-----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 14:49
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

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-high
> > li
> > 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/
>
____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-devs mailing list