On Sun, 02 Mar 2008, Foo JH wrote: > GetFileVersion() returns the file version, which is not the > ProductVersion that I think everybody uses (including Jenda). > > If I am to look at the Version tab on the exe I generated, I see > Product Version listed under 'Other version information'. How can we > read this info?
You could try the Win32::File::VersionInfo module: http://search.cpan.org/~alexeyt/Win32-File-VersionInfo-0.03/VersionInfo.pm <https://uspl.webmail.eds.com/exchweb/bin/redir.asp?URL=http://search.cpan.org/~alexeyt/Win32-File-VersionInfo-0.03/VersionInfo.pm> Or you could do what most everybody else does and set FileVersion and ProductVersion to the same number. Cheers, -Jan -- Paul J. Brzezinski Global Client Engineering - GM 248-365-9615 ________________________________ From: [EMAIL PROTECTED] on behalf of Stuart Arnold Sent: Fri 4/25/2008 9:58 AM To: 'Cruickshanks, Darin'; [email protected] Subject: RE: Accessing executable summary/detail information You can get it thru the DLL "Version.dll" MS Help is on "VersionInfo" Here are some of the APIs to the various functions. sub VERSION_LIB() { "version.dll" } our $GetFileVersionInfoSize = new Win32::API( VERSION_LIB, "GetFileVersionInfoSize", [ #args... "P", # [in] (char*/lpstr) = filename to use "P" # [in/out] (ushort*/puint) = VersionHandle = 0 ], # return... "N" # [return] (long/dword) = the sizeof info ); our $GetFileVersionInfo = new Win32::API( VERSION_LIB, "GetFileVersionInfo", [ # args... "P", # [in] (char*/lpstr) = filename to use "P", # [in] (ushort*/puint) = VersionHandle from "GetFileVersionInfoSize" "N", # [in] (long/dword) = sizeof VersionInfo (next arg) "P" # [out] (&void*/&lpstr*) = data to receive (theVersionInfo) ], # return... "N" # [return] (long/dword) = success(1)/failure(0) ); our $VerQueryValue = new Win32::API( VERSION_LIB, "VerQueryValue", [ # args... "P", # [in] (void*/lpstr*) = theVersionInfo "P", # [in] (char*) = key string to search for "P", # [out] (&void*) = value returned "P" # [out] (ushort*/puint*) = size of value returned in bytes ], # return... "N" # [return] (long/dword) = success(1)/failure(0) ); I have a library I wrote for doing all of this, but unfortunatly, I do not think my company will let me give that out. Also, be aware of Languages that it supports, eg, chineese. ---Stuart Arnold w: [EMAIL PROTECTED] w: 678.297.1027 ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Cruickshanks, Darin Sent: Friday, April 25, 2008 9:29 AM To: [EMAIL PROTECTED]; [email protected] Subject: RE: Accessing executable summary/detail information Yup, that's what I'm after. Darin -------------------------------------------- Darin Cruickshanks Lab Support Manager, Computing Service University of Essex 01206 873585 From: Stuart Arnold [mailto:[EMAIL PROTECTED] Sent: 25 April 2008 13:34 To: Cruickshanks, Darin; [email protected] Subject: RE: Accessing executable summary/detail information Do you mean the Version Info and such that is in there? That is, Company name, trademarks, versions, etc, we see when you click on the EXE and get the Properties window? ---Stuart Arnold w: [EMAIL PROTECTED] w: 678.297.1027 ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Cruickshanks, Darin Sent: Friday, April 25, 2008 7:13 AM To: [email protected] Subject: Accessing executable summary/detail information All, I have a requirement for reading the summary (metadata) of an executable; does anyone know of a way to do this with Perl? Thanks, Darin -------------------------------------------- Darin Cruickshanks Lab Support Manager, Computing Service University of Essex 01206 873585
_______________________________________________ Perl-Win32-Admin mailing list [email protected] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
