GetExePath: 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 20: | Line 22: | ||
Syntax: | Syntax: | ||
${GetExePath} $var | ${GetExePath} $var | ||
</highlight-nsis> | |||
Example: | <b>Example:</b> | ||
Section | <highlight-nsis>Section | ||
${GetExePath} $R0 | ${GetExePath} $R0 | ||
; $R0="C:\ftp" | ; $R0="C:\ftp" | ||
SectionEnd | SectionEnd | ||
</highlight-nsis> | |||
== The Function Code== | |||
<highlight-nsis> | |||
Function GetExePath | Function GetExePath | ||
!define GetExePath `!insertmacro GetExePathCall` | !define GetExePath `!insertmacro GetExePathCall` |
Revision as of 14:42, 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
____________________________________________________________________________ GetExePath ____________________________________________________________________________ Get installer pathname ($EXEDIR with valid case for Windows 9X). Syntax: ${GetExePath} $var
Example:
Section ${GetExePath} $R0 ; $R0="C:\ftp" SectionEnd
The Function Code
Function GetExePath !define GetExePath `!insertmacro GetExePathCall` !macro GetExePathCall _RESULT Call GetExePath Pop ${_RESULT} !macroend Push $0 Push $1 Push $2 StrCpy $1 $CMDLINE 1 StrCmp $1 '"' 0 exedir StrCpy $1 0 IntOp $1 $1 + 1 StrCpy $0 $CMDLINE 1 $1 StrCmp $0 '"' 0 -2 IntOp $1 $1 - 1 StrCpy $0 $CMDLINE $1 1 StrCpy $1 0 IntOp $1 $1 - 1 StrCpy $2 $0 1 $1 StrCmp $2 '\' 0 -2 StrCpy $0 $0 $1 goto end exedir: StrCpy $0 $EXEDIR end: Pop $2 Pop $1 Exch $0 FunctionEnd