I have an exe that depends on libeay32.dll. Both compiled for 32 bits.
I copied exe to C: \ Program files (x86) \ app \ bin and dll to C: \ Program files (x86) \ app \ lib. To ensure proper operation, I added the C: \ Program (x86) \ app \ lib files to the path.
On windows 7 64 bit, when I execute exe, I got libeay32.dll error.
Using the walking walking element for 32 bits, the library is correctly located in the C: \ Program files (x86) \ app \ lib folder. Using sysinternal explorer, the application is executed correctly. Using cmd also works. Using the walking element for 64 bits, I see the missing libraries. Copying two toghether or dll files to syswow64 also works fine.
If the application was compiled for 32 bits ...
Why are there no windows looking for 32-bit libraries? Why arent libraries allowed if the directory is already on the way?
I assume w7 ignores the path, but according to this:
http://msdn.microsoft.com/en-us/library/ms682586%28v=vs.85%29.aspx
it should not !.
Why can't I run exe with dependencies located in the path? Should I register a library or something else?
Any ideas would be highly appreciated.
EDIT:
The program starts / runs correctly when it is executed from the Start menu, → the program, but not directly to .exe ... wtf?
procmon, , ( "):" C:\Program Files (x86)\myapp\Third-Party\openssl\LIBEAY32.dll " (:" C:\Program Files (x86)\myapp\Third-Party\openssl")
?:
/, "C:\Program Files (x86)" , "C:\Program Files (x86)" ???? ( . procmon ANY)
Windows 7 x64?