Error 0xc00007b Windows 8.1 64 Bits

0 views
Skip to first unread message

Takako Dito

unread,
Aug 5, 2024, 2:14:14 PM8/5/24
to enmayclefor
Googlingdoesn't bring up much, but seems to indicate that this is nothing Delphi specific and happens with other apps. It seems to be caused by calling into a 32 bit DLL from a 64 bit app or vice versa.

A load time dependency could not be resolved. The easiest way to debug this is to use Dependency Walker. Use the Profile option to get diagnostics output of the load process. This will identify the point of failure and should guide you to a solution.


I tried all the things specified here and found yet another answer. I had to compile my application with 32-bit DLLs. I had built the libraries both in 32-bit and 64-bit but had my PATH set to 64-bit libraries. After I recompiled my application (with a number of changes in my code as well) I got this dreaded error and struggled for two days. Finally, after trying a number of other things, I changed my PATH to have the 32-bit DLLs before the 64-bit DLLs (they have the same names). And it worked. I am just adding it here for completeness.


It is a missing dll.Possibly, your dll that works with com ports have an unresolved dll dependence. You can use dependency walker and windows debugger. Check all of the mfc library, for example. Also, you can use nrCommlib - it is great components to work with com ports.


It has been mentioned in earlier answers that using dependency walker is the way to go, in my case (my application keeps failing with the error code), dependency walker showed a few dll that are NOT relevant!


Finally figured out that I can run profiling by going to "profile" menu and it will run the application and stop at the exact dll that's cause the problem! I found out a 32bit dll was picked because of path and fixed it.


If you used Visual Studio to develop the app, you must make sure the new (i.e. the computer that the software was not developed on) has the appropriate Microsoft Visual C++ Redistributable Package. By appropriate, you need the right year and bit version (i.e. x86 for 32 bit and x64 for 64 bit) of the Visual C++ Redistributable Package.


Actually this error indicates to an invalid image format. However, why this is happening and what the error code usually means? Actually this could be appear when you are trying to run a program that is made for or intended to work with a 64 bit Windows operating system, but your computer is running on 32 bit Operating system.


This may be a case where debugging the debugger might be useful. Essentially if you follow the instructions here you can run two ide's and one will debug into the other. If you un your application in one, you can sometimes catch errors that you otherwise miss. Its worth a try.


In my case the error occurred when I renamed a DLL after building it (using Visual Studio 2015), so that it fits the name expected by an executable, which depended on the DLL. After the renaming the list of exported symbols displayed by Dependency Walker was empty, and the said error message "The application was unable to start correctly" was displayed.


That can happen if for some reason a x86 resource is loaded from a x64 machine. To avoid that explicitly, add this preprocessor directive to stdafx.h (of course, in my example the problematic resource is Windows Common Controls DLL.


You can have this if you are trying to manifest your application that it has a dependancy on the Microsoft.Windows.Common-Controls assembly. You do this when you want to load Version 6 of the common controls library - so that visual styles are applied to common controls.


The main problem, of course, is that a DLL file is missing, or, even more likely, corrupt. If this is the case, then I have some pretty good ideas (especially if you've downloaded and installed a DLL manually!)...


This solution of copying/pasting missing DLL's into system32, etc., used to work since I can remember in the 1990's, but it doesn't seem to work anymore (2020). So if you run into this problem recently, I suggest:


Just solved this problem for my personal project (thanks to Dries for that). For me it was because the project path was too long. After saving the .sln to a shorter path (C:/MyProjects) and compiling from there it ran without the error.


It is possible that you have multiple versions of the dll(s) on your system. You can search your system to find out. The issue may be solved by simply changing the order of the directories in your path. This was my issue. (Cannot run Qt Creator GUI outside of Qt. "The application was unable to start correctly (0xc000007b)" error)


I ran into this issue when fetching code from my repository and compiling on a new machine. Copying over the entire repository and then compiling resulted in an executable which worked. Turns out a 32bit DLL accidentally wasn't checked in. As the people above state, use "Dependency Walker" to figure out where it goes wrong.


To make it more clear what to look for see the below screenshot, with in the background the exe trying to load the wrong DLL (notice the '64') resulting in "the application was unable to start correctly 0xc00007b" and in the foreground the exe which was simply copied over (which included the correct DLL).


As the name suggests, I'm getting this error "the application was unable to start correctly 0xc00007b windows 10 64 bit". I don't know after which software installation did this error occur, but the only application affected by this is cheat engine 6.6, and unable to start this application. I tried some fixes like installing newer version of .net framework, directx and microsoft visual libraries. But nothing seems to work.


The error 0xc000007b means STATUS_INVALID_IMAGE_FORMAT. This means an application tries to load DLLs with the wrong CPU architecture. So a 32Bit application tries to load 64Bit Dlls or the opposite (64Bit app tries to load 32Bit DLLs).


Most of the times it happens when users get messages about missing DLLs and download DLLs from 3rd party sites and copy them to system32 folder. Remove the effected software and reinstall the tool with all its dependencies from scratch.


I faced the same error and it was due to 32 bit version of Apache24 software from apache lounge was run on 64-bit windows 7. I uninstalled the 32 bit version and installed a new 64-bit version of the same.


For me the solution was to install earlier version of Xampp: 5.6.31 ( I found the advice on internet) - tried before reinstal Microsoft Visual 2015, Updates , - I have Win 8.1 . Worked from the start.


There are many reasons which stops Apache or any other program to run or sometimes the program didn't able to find suitable software for its execution. In windows OS this problem is due to busy port or due vc14,vc15 i.e. Microsoft Visual C++ Redistributable package depending on your software.


The most common culprit is the Microsoft C++ Redistributable library, which is a free download from the Microsoft website. Uninstalling and reinstalling After Effects might help if it's a library that the installer checks for, otherwise there are in-depth tests you can perform to see exactly which DLL is at fault.


You can use the free 'Dependency Walker' app from Microsoft's engineering toolkit to analyze what After Effects is trying to load as it starts up; that will usually reveal which file is triggering the error.


Hmm. Next step is to see if the Windows repair utility can find any issues; from Control Panel > Programs and Features, click each of the "Microsoft Visual C++...." entries in turn, and for each one that displays a "Change" option in the top toolbar, click it and select "Repair" in the popup window. The repair utility will verify if the files match the installation fingerprints. Note that the very old libraries (VC++ 2005 etc) don't have a Change option but After Effects isn't using those.


In rare cases the VC++ installer decides to completely ignore the x64 library. There is a manual workaround that involves halting the VC++ installer halfway through and copying the files from a temporary folder; see the reply here by Michelle.


The one word answer is "Microsoft" The VC/VC++ installers are notoriously strange, as I said earlier they can ignore certain parts of the installation package, and don't log any errors when they do. It might be that the DLL was loaded by something at the time, and the installer just decided to drive on by. The redistributables are used by a large number of apps (including some system-critical ones) so MS would probably say they are just being careful. A warning would be nice.


On the subject of errors, I wish Adobe would kill off the engineering bug codes and provide users with an actual message - after all, AE knows perfectly well which DLL is broken and where it came from. A popup that just refers to a number from a secret internal document is basically a middle finger to the world.


I just wanna say thank you, Rusty. After a tiring search, this post solved it for me! I'm on a win7 64bit system. The problem started after both my windows and adobe CC app updated (Not sure which one is responsible for the culprit). Maybe that info can be useful to others. Thank you for posting this!


Hi, I want to install the SEGA Model 2 emulator, got the 1.1a version from the Nebula website, extracted it, and the only thing I got when launching the .exe file was a missing "d3dx9_42.dll" error. After manually getting this file online I got the, I guess, well-known error message: "0xc000007b"!


Then I extracted the emulator files on my wife's laptop (also an up-to-date windows 10 system) --- with the same results: First the DLL error (which shouldn't occur anyway, I guess??!) and then the 0xc000007b error.


Quite often downloading one dll is not the correct solution. d3dx9_42.dll is part of directx 9. If a game or emulator complains, it is better to install the complete directx setup. The following link contains a download for Microsoft DirectX Redistributable (June 2010). -DirectX-Redistributable-June-2010/3000-2121_4-10176490.html Extract and run the DXSETUP.exe. I hope it fixes your problem.


But one more thing. Do not expect that every emulator or game works out of the box. The more you delve into emulation, the more you will need to learn.The SEGA Model 2 emulator is 14 years old by now. It is not the easiest emulator to set up.

3a8082e126
Reply all
Reply to author
Forward
0 new messages