GetFileVersion: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Adding new author and category links.) |
Instructor (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
== Links == | == Links == | ||
; Latest version of headers "nsh.zip": | ; Latest version of headers "nsh.zip": | ||
: http://forums.winamp.com/showthread.php?s=&threadid=203228&goto=lastpost | : http://forums.winamp.com/showthread.php?s=&threadid=203228&goto=lastpost | ||
If a function is used without | If a function is used without header, put the function code in your script before calling it. | ||
== The Function == | == The Function Description== | ||
<highlight-nsis> | |||
<highlight-nsis> | |||
____________________________________________________________________________ | ____________________________________________________________________________ | ||
Line 17: | Line 19: | ||
Get version information from executable file. | |||
Line 30: | Line 32: | ||
-Error flag if file isn't exist | -Error flag if file isn't exist | ||
-Error flag if file isn't contain version information | -Error flag if file isn't contain version information | ||
</highlight-nsis> | |||
Example: | <b>Example:</b> | ||
Section | <highlight-nsis>Section | ||
${GetFileVersion} "C:\ftp\program.exe" $R0 | ${GetFileVersion} "C:\ftp\program.exe" $R0 | ||
; $R0="1.1.0.12" | ; $R0="1.1.0.12" | ||
SectionEnd | SectionEnd | ||
</highlight-nsis> | |||
== The Function Code== | |||
<highlight-nsis> | |||
Function GetFileVersion | Function GetFileVersion | ||
!define GetFileVersion `!insertmacro GetFileVersionCall` | !define GetFileVersion `!insertmacro GetFileVersionCall` |
Revision as of 14:41, 4 July 2005
Author: Instructor (talk, contrib) |
Links
- Latest version of headers "nsh.zip"
- http://forums.winamp.com/showthread.php?s=&threadid=203228&goto=lastpost
If a function is used without header, put the function code in your script before calling it.
The Function Description
____________________________________________________________________________ GetFileVersion ____________________________________________________________________________ Thanks KiCHiK (Based on his example for command "GetDLLVersion") Get version information from executable file. Syntax: ${GetFileVersion} "[Executable]" $var "[Executable]" ; Executable file (*.exe *.dll ...) $var ; Result: Version number Note: -Error flag if file isn't exist -Error flag if file isn't contain version information
Example:
Section ${GetFileVersion} "C:\ftp\program.exe" $R0 ; $R0="1.1.0.12" SectionEnd
The Function Code
Function GetFileVersion !define GetFileVersion `!insertmacro GetFileVersionCall` !macro GetFileVersionCall _FILE _RESULT Push `${_FILE}` Call GetFileVersion Pop ${_RESULT} !macroend Exch $0 Push $1 Push $2 Push $3 Push $4 Push $5 Push $6 ClearErrors GetDllVersion '$0' $1 $2 IfErrors error IntOp $3 $1 / 0x00010000 IntOp $4 $1 & 0x0000FFFF IntOp $5 $2 / 0x00010000 IntOp $6 $2 & 0x0000FFFF StrCpy $0 '$3.$4.$5.$6' goto end error: SetErrors StrCpy $0 '' end: Pop $6 Pop $5 Pop $4 Pop $3 Pop $2 Pop $1 Exch $0 FunctionEnd