Archive: 64 bit DLL from 32 bit process


64 bit DLL from 32 bit process
Does anyone know a work-around for calling a 64 bit dll from an NSIS installer file (since the installer-generated executable is 32-bit, you can't directly call a 64 bit dll without doing a Thunking layer). I have a tight deadline coming up and would like to avoid writing a Thunking layer in the DLL. Also, I can't compile the dll in 32-bit mode because the SDK that I am calling functions from is compiled only in 64-bit mode.

Basically, the end goal is to be able to run this from my script:

System::Call "myDll::FindBindings()i.r0"

where myDll is a 64-bit dll. I am happy to clarify as needed. Thanks in advance for any input.


My way around it is to use a console application instead which takes arguments and outputs the result. You can use ExecDos::exec /TOSTACK which is preferable to nsExec::ExecToStack because it pushes each new-line-separated item to the stack rather than all in one.

Stu


Thanks Afrow, that was another thought I had. That is likely what I will do for now, I was just hoping there was another way around it. Thanks again.