Product Version column shows wrong version?

In windows, when you right-click an executable file and check the Details, you can see the various properties of the file. Among them are the "Product Version" and "File Version".

It seems that Directory Opus is showing the 'File Version' property in the 'Product Version' column. And there doesn't seem to be a 'File Version' column available...

Module Version is the column which shows the file version.

The mismatch you're seeing is probably due to files with inconsistent version resources.

Version resources contain two copies of both version numbers. One in a binary format (Opus displays this) and one in a string format (Windows displays this). The two should be identical, and start out identical, but some developers (including Microsoft themselves) mess it up and at some point forget to update one when they update the other.

There could be more than one string version in the file as well, since the strings are per language/translation. Nothing stops someone from making a file with 50 different/inconsistent versions strings across different languages. The format of the strings could be anything as well, not restricted to just numbers and dots (or commas).

On the other hand, there is always only one set of binary version numbers, which use a fixed, well-defined format. Those should be the definitive version numbers; the others are translations of the numbers into other languages (e.g. English might use dots between numbers, French might use commas, although I don't know if that is true).

So you might have a file which Explorer shows having different versions in different languages, while Opus will always be consistent and show the same one. Unfortunately, that does mean Opus can be inconsistent with Explorer within the same language, if the file's version resource itself is not consistent. That is really a localisation error in the file's version strings, as they should be consistent.

You are completely right. And thanks for the detailed answer! I did not know that there were string AND numerical properties both named 'fileversion' and 'productversion' which could be different.

In my case, it was a malformed version file (much like the image you showed).

Here's a script which imports File Explorer's product version column into Opus:

1 Like