ntdll load_dll broken WoW behavior
bunglehead at gmail.com
Fri Feb 6 05:07:43 CST 2015
On 06.02.2015 14:02, Patrick Rudolph wrote:
> Am 2015-02-06 09:22, schrieb Nikolay Sivov:
>> On 06.02.2015 11:12, Patrick Rudolph wrote:
>>> Hi guys,
>>> I tried WoW as it seems to be in a good shape, but run into same issues.
>>> I hope you can clarify.
>>> I've got an game that has two executables, 32bit and 64bit. It places a
>>> 32bit version of xinput1_3.dll in the same folder on startup.
>>> Trying to start the 32bit version works fine, however starting the 64bit
>>> version doesn't work.
>>> For me it looks like the ntdll load_dll is the fault.
>>> It searches for builtin xinput1_3 and finds the 32bit dll in the game
>>> folder. It fails to open it (wrong ARCH) and that's it.
>>> Instead of trying other directories it tries to load native.
>>> Again it opens the first file found in the given path, it's the same
>>> file again, it fails to open it and the application terminates.
>>> Why doesn't it check for correct ARCH ?
>>> Why doesn't it walk all directories / all path given, instead of just
>>> using the first file found ?
>> What do you mean by that? It doesn't check usual System32 dir for 64
>> bit dll, is that what you expect?
> Why doesn't it check for files in syswow64 ?
Because syswow64 is a directory for 32bit system dlls/exes. So for 64bit
process it doesn't make much sense to look for dependencies there.
>>> Does Windows 64bits behave the same ?
>> Does this game work in Windows with same conditions? Or any minimal
>> test case for that matter, like 64bit exe + 32bit dll with appropriate
>> name, is that what you see?
> I guess it is working, why should a vendor release a non functional game ?
> But I cannot test it, as I do not own a Windows.
Maybe you just need 64bit version of xinput then?
More information about the wine-devel