[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nsis-bugs
Subject:    [NSIS-Bugs] [ nsis-Bugs-2809308 ] Feature: GetDLLVersionLocal
From:       "SourceForge.net" <noreply () sourceforge ! net>
Date:       2009-06-21 20:42:14
Message-ID: E1MITri-0002jS-Co () h45xhf1 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Bugs item #2809308, was opened at 2009-06-19 16:50
Message generated for change (Comment added) made by ericlaw
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=373085&aid=2809308&group_id=22049

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Scripting
Group: 2.0 Series
Status: Closed
Resolution: Wont Fix
Priority: 5
Private: No
Submitted By: Eric Lawrence (ericlaw)
Assigned to: Nobody/Anonymous (nobody)
Summary: Feature: GetDLLVersionLocal should work outside a Section

Initial Comment:
I want to show the version of the program being installed inside of the installer's \
Branding text.   I don't want to have to manually update the version info every time \
I build the installer.

The seemingly logical approach is to use GetDLLVersionLocal to grab the version \
information from the .EXE being installed, and then stick that info in BrandingText.  \


Today, I can't figure out how to do that:
- GetDLLVersionLocal is only available *inside* a Section
- BrandingText can only be set *outside* of a Section

Have I overlooked something, or would accomplishing this scenario require updating \
GetDLLVersionLocal to work anywhere?

GetDLLVersionLocal "..\..\bin\Release\Fiddler.exe" $R0 $R1
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
StrCpy $0 "$R2.$R3.$R4.$R5"
BrandingText "v$0" 



----------------------------------------------------------------------

Comment By: Eric Lawrence (ericlaw)
Date: 2009-06-21 13:42

Message:
I must be missing something.  

I don't see how either !searchparse or !define /file would serve the same
purpose, unless you're proposing that I use one of these to load my
executable into memory, somehow find the offset of the binary version
information, and manually parse this information out somehow.  That seems
implausible at best.  

I suppose I could add some additional tools to the build chain (e.g.
http://www.codeproject.com/KB/DLL/showver.aspx) to extract this information
into a plaintext file which is so-imported, but this seems hackier than it
needs to be, as NSIS clearly already has the capability of getting the
required information at build time.

The notion that "GetDLLVersionLocal" is for only "version comparison"
seems to contrast the documentation, in which a code sample is provided to
convert the results of GetDLLVersion into a string.

----------------------------------------------------------------------

Comment By: Amir Szekely (kichik)
Date: 2009-06-20 11:24

Message:
!searchparse and !define /file were added recently exactly for this
purpose. GetDLLVersionLocal is for version comparison and that's only
required in sections.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=373085&aid=2809308&group_id=22049

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
NSIS-Bugs mailing list
NSIS-Bugs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nsis-bugs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic