Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Advice Needed: 32 bit exe and dll on a 64 bit operating system

Status
Not open for further replies.

topcat01

Programmer
Jul 10, 2003
83
GB
Hi List,

I have Delphi 6 & 7 Pro and have developed software which is of course 32-bit. Some of the exe files I developed use MS dll files which I have included as part of my installation (i'm guessing the dll are 32 bit also but have not checked), during the installation these dll files are copied to the OS system folder (i use INNO setup).

A couple of users running my software on 64bit operating system have said the programs do not work... this appears to be limited to only the software which rely on the MS dll.

I have read that I cannot access a 64 bit dll with a 32 bit exe and Delphi is limited to 32bit exe. Is there a way I can still use the 32bit dll on a 64 bit OS? Can I copy the dll to the installation folder instead of the system folder?

Hope this makes sense, thanks.



 
64 bit windows introduces a File System Redirector: The file system redirector is used to ensure that 64-bit Windows doesn't suffer from file-location overloading. That's because 64-bit Windows still uses the C:\windows\system32 directory for native applications. Oddly enough, this misnamed directory is for 64-bit apps only! So, 32-bit apps trying to read or write to C:\windows\system32 are redirected to C:\windows\SysWOW64 instead. Similarly, only 64-bit apps can use C:\Program Files; 32-bit apps are invisibly redirected to c:\Program Files(x86).

so putting the dll in C:\windows\SysWOW64 would be the logical step.

/Daddy

-----------------------------------------------------
What You See Is What You Get
Never underestimate tha powah of tha google!
 
Hi,

Thanks for the suggestion, I will try and let you know.

Thanks
 
You were correct, inno setup sends the 32bit dll to C:\windows\SysWOW64

I had to add some additional code to the inno setup script to install some microsoft dll files from a .msi during installation, everything runs as normal now.

...until the next Window release ;)

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top