Old 26th January 2011, 20:10   #1
blh83
Junior Member
 
Join Date: Aug 2010
Posts: 29
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.
blh83 is offline   Reply With Quote
Old 26th January 2011, 20:29   #2
Afrow UK
Moderator
 
Afrow UK's Avatar
 
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
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
Afrow UK is offline   Reply With Quote
Old 26th January 2011, 22:28   #3
blh83
Junior Member
 
Join Date: Aug 2010
Posts: 29
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.
blh83 is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump