Actually, Windows supports string forms and numeric forms:
C:>filever -v C:windowssystem32msaatext.dll
--a-- W32i DLL ENU 2.0.10413.0 shp 102,912
08-23-2001 msaatext.dll
Language 0x0409 (English (United States))
CharSet 0x04b0 Unicode
OleSelfRegister Disabled
CompanyName Microsoft Corporation
FileDescription Active Accessibility text support
InternalName MSAAText
OriginalFilenam MSAATEXT.DLL
ProductName Microsoft« Windows« Operating
System
ProductVersion 5.1.2600.0
FileVersion 2.0.010413 (xpclient.010817-1148)
LegalCopyright ⌐ Microsoft Corporation. All
rights reserved.
VS_FIXEDFILEINFO:
Signature: feef04bd
Struc Ver: 00010000
FileVer: 00020000:28ad0000 (2.0:10413.0)
ProdVer: 00050001:0a280000 (5.1:2600.0)
FlagMask: 0000003f
Flags: 00000000
OS: 00040004 NT Win32
FileType: 00000002 Dll
SubType: 00000000
FileDate: 00000000:00000000
In this file, for instance, the "FileVersion"
string is "2.0.010413" (notice the leading 0, only
three values, etc.). The "FileVer" data from
VS_FIXEDFILEINFO is "2.0:10413.0" (or
"2.0.10413.0") as derived from the four 16-bit
integers. There is nothing that enforces any coherence
between the VS_FIXEDFILEINFO data and the
"ProductVersion" and "FileVersion"
strings. The strings are, as far as I know, completely
freeform. The string data is described farther down on the
webpage mentioned by Jan below.
--Toby Ovod-Everett
-----Original Message-----
From: pdk-bounces listserv.ActiveState.com
[mailto:pdk-bounces listserv.ActiveState.com] On Behalf Of Jan
Dubois
Sent: Friday, February 23, 2007 12:05 PM
To: 'Michael Cohen'; PDK listserv.ActiveState.com
Subject: RE: PDK 7.0 Fix?
Michael Cohen writes:
> If you open the PerlApp program, and go to the Version
tab, you cannot
> enter a version number such as "1.07" or
"1.07.01", and is limited to
> five numeric characters. Is this fixed? If not, can
this be fixed
> before the final release of PDK 7.0?
This is a limitation of the Windows version format. The
version number
is not a floating point number, but a 4-tuple of 16-bit
integers.
Therefore version 1.07 cannot be distinguished from 1.007 or
1.0007 or
1.7, or 1.7.0.0.
1.07.01 should be written as 1.7.1. Since 16-bit numbers
cannot be
larger than 65535 there is no point in allowing more than 5
digits for
any of the 4 numbers. You can find more information about
VERSIONINFO
resources here:
http://msdn2.microsoft.com/en-gb/library/aa381058.aspx
Cheers,
-Jan
_______________________________________________
PDK mailing list
PDK listserv.ActiveState.com
To unsubscribe: http:/
/listserv.ActiveState.com/mailman/mysubs
_______________________________________________
PDK mailing list
PDK listserv.ActiveState.com
To unsubscribe: http:/
/listserv.ActiveState.com/mailman/mysubs
|