We have the 2.50f drivers in "production" packages, but are trying to move to the 3.0.
We make use of windows installer (MSI) and need to be Vista-compliant.
Anyway I had a hard time figuring out an issue when upgrading from the old version to the new one (2.5.0.6 -> 3.0.1.1).
When windows installer has to decide whether a versioned resource on the target machine has to be upgraded (and, hence, overwritten), it checks the file version: if the existing file has a "lower" file version, it will get overwritten by the "newer" one from the installing package.
cdintf.dll, for instance, has 2.5.0.6 on the system and i'm installing 3.0.1.1: so it gets upgraded.
But, in my tests I see that acfpdfu.dll / acfpdfui.dll do not get replaced. Why..?
Well, I've then noticed they all have a fileversion=0.3.0.301 (while the previous files had 0.3.0.2506..) and the problem arises from the fact that 0.3.0.301<0.3.0.2506! As you may see, the comparison is not an alpha-numeric one, but only numeric, so all version components match except the build number (the last one), so the version-check sounds like this: "is 301 lower or greater than 2506?"
And the answer is: 301<2506, so the old 2.50 files do not get overwritten by the new 3.0 ones..
The same applies to the acfpdfuamd64.dll / acfpdfuiamd64.dll fileversion.
(There is also another post regarding a similar issue: http://www.amyuni.com/forum/viewtopic.php?t=2039)
What can I do to fix this?
As a side note, why does the versioning schema is different between cdintf.dll and the acfpdf*.dll? Wouldn't it be wise to use the same fileversion for all of them (for example 3.0.1.1 instead of 0.3.0.301)?
Any help is welcome

Thank you in advance!
Luke