[wix-devs] WiX v4 id versioning

Sean Hall r.sean.hall at gmail.com
Tue Mar 3 00:22:16 PST 2020


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-highlights/)
> 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/
>


More information about the wix-devs mailing list