App launches when DLL in .exe folder, pops an error if DLL in System32 (error 0xc0000428 “<dll name> is either not designed to run on windows…”)

0

We have an app (test tool), if I run the exe and have the DLL in the same library, it works correctly. If I move the DLL to c:\windows\system32 and try the exe, it fails with the following message. Windows 8.1 tablet.

Any clues what might be going on? Also tried to sign the DLL, no go.

" is either not designed to run on Windows or it contains an error. Try installing...... Error status 0xc0000428"

windows-8
dll
asked on Super User Dec 19, 2013 by ranshe

3 Answers

0

What ever kind of .exe this is clearly needs to be run in the same directory as the .dll. The executable cannot find the .dll, a necessary resource for the app to run correctly, if outside of the same working directory. Unless you are (or know) the programmer who designed the application, it's unlikely there is an option to have the executable find this .dll if not in the same directory. You may consider making a shortcut to the .exe and keep the .exe+.dll paired in another directory.

answered on Super User Dec 19, 2013 by root
0

There may be two versions of the DLL (with the same name) on the system, one that's compatible with your system, and one that isn't.

When you have the 'right' DLL in the folder with the EXE, that's the first place it checks, and therefore finds the right one, and uses it.

If you move this working DLL to System32, it's in the PATH, but it's now further down the search order list. How much further down depends on your PATH.

If the non-working version of the DLL ends up in the search order ahead of the one you moved to System32, then the program will try to use that version (since it found it first).

Search all folders on your system for other versions of that DLL, and (re)move it if possible, to get it out of the DLL path search order.

answered on Super User Dec 19, 2013 by Ƭᴇcʜιᴇ007
0

It was a signature issue. Once we enabled Audit Mode, we were good (no more error message). We will sort out which party needs to sign which component, but at least we know where to look.

Thanks to all who participated.

answered on Super User Dec 19, 2013 by ranshe

User contributions licensed under CC BY-SA 3.0