Search code examples
dllx8664-bitdependency-walker

I need help running a x64 .dll in an app that only takes x86


I'm trying to run a certain program (PCXS2), but after looking at the .exe with Dependency Walker, i figured out i needed 2 certain .dll files (ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll, and api-ms-win-core-shutdown-l1-1-1.dll), but the program only takes x86 dll files and the only available versions are x64 files. How can I convert the dll files to x86?

I'm on a 64 bit computer running Windows 8.1, and have most of the vcredist patches for my OS. I have tried putting the files in System32 and running the dll register code in cmd, but to no avail.

The text I get when running Dependency Walker:

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.

Error: Modules with different CPU types were found.

Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

(For context the CPU value is highlighted red.)


Solution

  • You can't convert a DLL from 64 to 32 bit or vice versa. You'll have to find the proper versions of those DLLs and copy them to your system. Perhaps you can find them on a system running a 32-bit version of the program you're using.