oleg-shilo / wixsharp

Framework for building a complete MSI or WiX source code by using script files written with C# syntax.
MIT License
1.12k stars 175 forks source link

Is there support for 4 digit version upgrade? #1536

Closed RachelXGanon closed 3 months ago

RachelXGanon commented 6 months ago

Hi, I'm using MagorUpgrade and it's working well but only for the first 3 digits of the version. For example: Upgrade from 1.2.3 => 1.2.5 works well. Upgrade from 1.2.3.4 => 1.2.3.5 doesn't work.

Is there a way to support upgrade for the 4th digit too? Thank you.

Torchok19081986 commented 6 months ago

morning, first question: why do you want also check 4 digit or install version ? Some major reasons ? Second - AFAIK msi do always ignore 3 and 4 digit in version number. If you want always to uninstall and then install your newer version of msi package, just set always newer version to new msi package and add version number to output msi like project.Version to msi package on buildmsi(). Thats it. There also extension in visual studio 2022 for change current version number. i use for example https://marketplace.visualstudio.com/items?itemName=Newky2k.VersionChanger2022 this one or https://marketplace.visualstudio.com/items?itemName=PrecisionInfinity.PrecisionInfinityAutomaticVersions3 . Which allows your custom version on build current project. Just need some configuration.

best regards. Torchok.

CADbloke commented 6 months ago

The first 3 sets of digits count, the 4th set is ignored. I use AutomaticVersions (link above) to increment the 3rd digit as a build number so it always gets updated. I use the 4th digit yyddd as a date-stamp (ddd is the day of the year, 1-366). Semantic, no - useful, yes. By the time int overflows for the year I will be dead.

smaudet commented 4 months ago

@CADbloke Having encountered/solved this myself, I would recommend you handle versioning yourself via post-processing the msi with e.g. DTF: https://wixtoolset.org/docs/tools/dtf/

Might be nice to eventually add to wixsharp natively, as the current options are....restrictive at best.

Not sure how that would play with patch support though...

oleg-shilo commented 4 months ago

Might be nice to eventually add to wixsharp natively

@CADbloke, can you please elaborate on that? I agree that it makes sense for WixSharp to handle this task. So please share the solution that you have in mind.

oleg-shilo commented 4 months ago

My mistake, it was @smaudet who suggested WixSharp should handle this task.

@smaudet, can you elaborate on your proposal? What post-processing versioning did you have in mind?