Archive: Problem with custom DLL when installing on different computer


Problem with custom DLL when installing on different computer
Hi All,

I'm having some issues with NSIS executing a DLL function that works fine when I test the installer locally (Win7-64) but fails when the installer is run on a different computer (Win7-64).

Basically, I have a simple DLL function that returns "Hello" on the stack as follows:

Function .onInit
InitPluginsDir

MyDll::Hello
Pop $R0
MessageBox MB_ICONEXCLAMATION $R0
Abort
FunctionEnd

This code works fine if I run the installer on the machine that I created the installer on (locally).

However, if I run that same generated installer on a different machine, it appears that the MyDll::Hello is either not called or is not returning anything on the stack. In this case, $R0 contains "".

Doesn't the NSIS compiler automatically pull in all dlls that are called via DLL::FUNCTION calls?

Any help would be greatly appreciated!!

-rmacyn


i'd use http://www.dependencywalker.com/ to see what dll's you plug-in depends upon to run as i wouldn't be surprised if the non-development machine doesn't have them (like using a debug release mode when building the plug-in).

-daz


Fixed !!!
DrO, you're a genius!!

That Dependency Walker tool is awesome!! I ran the tool and right away it told me which DLL I was missing !!!

Thank you for the help... you're a real lifesaver!!

-rmacyn