Customize also the version on Windows metadata
@ruihildt told us some users would like the Windows binaries to have the Mullvad Browser version number, instead of Firefox's.
We already do it for the installer, and we could do the same for the binaries produced by the Moz build system.
The biggest caveat is that Windows has two versioning properties: file version and product version.
The former is made of 4 (unsigned, probably) integers, the latter is a free string.
So, we can customize the latter immediately with the macro we use for versions elsewhere.
For the installer, we decided to customize the file version to the browser series (e.g., 12.0.0.0, 12.5.0.0, etc), to avoid confusion with alphas.
We have a few possibilties here:
- keep Firefox's version;
- parse our version string, and extract 4 integers whenever possible;
- add a flag only for Windows versions and pass it as file version.
For 2 and 3, we have another question to solve:
- for releases, we can use the actual version number, without problems
- for alphas, we could do something like
major.minor.0.alpha_num
, so, 12.5a6 would be12.5.0.6
. Alphas would have a higher number than the first release, but apart from that they will have a smaller number than the release - for alphas, we could also do
major.minor - 1.alpha_num.0
, so12.4.6
for 12.5a6 - for nightlies, local builds and so on we don't have an easy solution (at most we can do
major.minor.year.MMDD
ormajor.minor.year.day_of_the_year
for nightlies)
In any case, we should look up for WIN32_MODULE_PRODUCTVERSION_STRING
in the code, and probably change config/create_rc.py
, too.