Archive: GetDllVersionLocal doesn't work with variables?


GetDllVersionLocal doesn't work with variables?
i don't wanna spam, but it's me again with a question.

Doesn't GetDllVersionLocal work with variables?

i have to get the versions of 4 different exe-files in my .oninit function. it would be fine if i could solve that with one function, but when i try to pass a (stack-)variable to GetDllVersionLocal it doesn't work.

With GetDllVersion there's no problem:

push "C:\blabla\blabla.exe"
pop $0
GetDllVersion $0 $R0 $R1
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
StrCpy $VER "$R2.$R3.$R4.$R5"

But if i do that with GetDllVersionLocal:

push "C:\blabla\blabla.exe"
pop $0
GetDllVersionLocal $0 $R0 $R1
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
StrCpy $VER "$R2.$R3.$R4.$R5"

...i receive:

GetDLLVersionLocal: error reading version info from "$0"


As it says in docs, GetDLLVersionLocal gets the version of a DLL on the compiler's (your) system. Variables only contain data on run-time (when we run the installer).

-Stu


oh. i see.

i found an article in the archive about that problem. maybe i gonna take over that solution.