Archive: problem using a function from a uninstall section


problem using a function from a uninstall section
here is my script:

!define RIndexOf "!insertmacro RIndexOf"
!macro RIndexOf Var Str Char
Push "${Char}"
Push "${Str}"
Call RIndexOf
Pop "${Var}"
!macroend

...


Section "un.$(NEWAPP_COMPONENT)"

;get the demo name
${un.RIndexOf} $R0 "$NEWAPP_FOLDER" "\"
StrCpy $0 "$NEWAPP_FOLDER" "" -$R0
StrCpy $0 $0 "" 1
Delete "$0.app"

SectionEnd

...

Function RIndexOf
Exch $R0
Exch
Exch $R1
Push $R2
Push $R3

StrCpy $R3 $R0
StrCpy $R0 0
IntOp $R0 $R0 + 1
StrCpy $R2 $R3 1 -$R0
StrCmp $R2 "" +2
StrCmp $R2 $R1 +2 -3

StrCpy $R0 -1

Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd


Same function is working when called from an install section, but from the uninstall one I get the following error:

Call must be used with function names starting with "un." in the uninstall section.
Usage: Call function_name | [:label_name]
Error in macro RIndexOf on macroline 3
Error in script "stdin" on line 328 -- aborting creation process


I tried to call my function un.RIndexOf but it is still not working.

Any idea ?


You need two copies of the install function. One called RIndexOf and one called un.RIndexOf.
Similarely you'll need two macros to call either functions.

-Stu


And visit link below for a tip to make your coding less repetative ;)

http://forums.winamp.com/showthread....hreadid=246505