Thanks for the answer, but it leaves me puzzled.
Is this in a hidden part of the registry?
For example, I use CCleaner.
SI reports that I'm using version 22.214.171.1245 but I can't find that string in my registry at all.
That program has been updated 3 times on this PC since that version and the current is version is 126.96.36.1990
This number is correctly embedded in the exe file so I am wondering where SI could be getting 188.8.131.525 from?
I also have other applications where SI miss-reads the version number.
It seem that SI may be comparing version strings and not parsing them into numbers.
Another example is a trailing zero.
Eg. My version of UpdateStar is 2.2.614 and SI says that there is a newer version 2.2.614.0
I think a comparison algorithm would be fairly straightforward to write to compare these as numbers.