Page 1 of 1

Alternative to Call DLL Function for 64 bit?

Posted: Fri Jul 23, 2010 8:00 am
by jsmith
I just ran into IA's limitation where one cannot call a 64 bit DLL on 64 bit windows when running in 64 bit installation mode. From the help:

Commands and plug-ins that load executable code into memory will not work with 64 bit executables, even when setup is running under 64 bit installation mode. Such commands and plug-ins include Register Library and Call DLL Function. You may use the various alternatives to such commands when running in 64 bit installation mode.


What would be one of the various alternatives to the Call DLL Function command that I could use in 64 bit installation mode on 64 bit windows to call into my 64 bit C++ DLL?

Thanks!

Re: Alternative to Call DLL Function for 64 bit?

Posted: Fri Jul 23, 2010 7:58 pm
by mills
I hope this will get you moving in the right direction:

http://www.dnjonline.com/article.aspx?i ... access3264

Re: Alternative to Call DLL Function for 64 bit?

Posted: Mon Aug 09, 2010 12:03 pm
by jsmith
Thanks, Andy. By posting this link, are you saying that the only way for me to call into my DLL from within InstallAware on a 64-bit computer is for me to build my software for 32 bit platforms and install 32 bit versions of my binaries for the installer to consume? I'm building my software as 64 bit binaries for use on 64 bit platforms. Is there no way for me to call into my 64 bit binaries on 64 bit platforms from within InstallAware?

Re: Alternative to Call DLL Function for 64 bit?

Posted: Mon Aug 09, 2010 9:05 pm
by mills
Ah, I see where you're coming from...

One idea is to:

Create 64-bit executable(s) to call your DLL(s).
This method poses a problem when you want your DLL to return values back to IA, especially when trying to handle lists.
To work-around this, you can have your executable(s) write to file the data that is desired and after the Run Program command is called, read the data from the resulting file(s).

Re: Alternative to Call DLL Function for 64 bit?

Posted: Thu Aug 12, 2010 9:01 am
by jsmith
Thanks, Andy. I converted my custom actions DLL into an EXE to work around this limitation. Do you know if IA will support calling into 64 bit DLLs any time soon?

Re: Alternative to Call DLL Function for 64 bit?

Posted: Thu Aug 12, 2010 9:28 pm
by mills
We plan to provide 64-bit DLL support, but it's not certain when we'll have an implementation.

Re: Alternative to Call DLL Function for 64 bit?

Posted: Fri Aug 13, 2010 6:01 am
by jsmith
OK, thanks Andy.