Hi First of all, I am not a Windows Installer expert, and I would prefer to follow good practices rather than weird workarounds. On Thu, Jul 25, 2013 at 7:56 PM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: > On Thu, Jul 25, 2013 at 07:36:16PM +0200, Marc-André Lureau wrote: >> Hi, >> >> The Windows Installer requires a ProductVersion of major.minor.build >> to perform update correctly. The fourth field is ignored. >> (http://msdn.microsoft.com/en-us/library/windows/desktop/aa370859%28v=vs.85%29.aspx) >> >> What is the current version scheme meaning? Could we switch to >> something that would fit Windows? It seems to me major.minor.build >> would fit better, especially for downstream windows distro who may >> want to maintain their own build (ovirt/rhevm). The leading 0 could be >> dropped, so what about moving form 0.5.6 to 1.0 or 5.7 > > I don't see any need to change what we do for our versioning > scheme. > > The ProductVersion is 3 digits and that can easily map directly to > our existing 3 digit release numbers. If you need todo multiple > rebuilds of the Windows installer for the same version, that doc > above describes something called a "package code" which could be > incremented for each new build. I would like to know what is the purpose of the leading 0. > > Alteratively, the build number field of the ProductVersion is > allowed to take values in the range 1-65536. We never use that > whole range for micro version numbers. So we could use that to > encode the micro version number + build number by shifting the > micro version number 8 bits. > > eg, > > version build productversion > 0.5.6 0 0.5.1536 (6 * 256 + 0 == 1536) > 0.5.6 1 0.5.1537 (6 * 256 + 1 == 1537) > 0.5.6 2 0.5.1538 ... > 0.5.7 0 0.5.1792 > 0.5.7 1 0.5.1793 > Eh ok, that will cause some confusion but can do with that, if the leading 0 is so important. > If ovirt/rhevm want todo their own custom windows installers then > IMHO they should be using a different package name and/or ProductCode > to distinguish their builds from the official builds. The product code is a uuid, and we already use that. We could use a different package name and version scheme, but then we probably want to use different path etc. That will make it harder to switch between one and the other I suppose. -- Marc-André Lureau _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list