If you see code 0xc000007b, you are being told that a binary you're attempting to use is either corrupt or not intended to be run in the process attempting to use it. That description is intended to be vague because this error code can cover a large number of situations. There are no one-size-fits-all solutions to this problem but this guide should help to track down the root cause of this issue. The root cause could vary from user to user and a case-by-case solution will be needed.
Why am I seeing this code?
Often, this error code is caused by a 64-bit process trying to use a 32-bit dll or vice versa. In this case, the 64-bit launcher is probably trying to load a .dll that it wasn't meant to run with. The problem is that this isn't the only situation that could cause this error code. It could be a subtle problem with any of the binaries used/referenced. All the ways users can get into this state are not presently clear, but usually it has to do with dependencies that are corrupt, modified, incorrectly installed, or that have been tampered with.
How can I pinpoint the problem?
Dependency Walker 2.2 x64 is a very useful tool for troubleshooting system errors related to loading and executing modules and it is our recommended tool to see what module is causing the 0xc000007b error. There are many ways of using dependency walker to pinpoint the problem and you could experiment with the tool. If you plan to experiment, be sure to check out the depends.chm documentation that is packaged with it. (Note: If you are having difficulty viewing the documentation, you may need to Unblock it in the properties by right-clicking depends.chm, then selecting Properties> General Tab> Unblock).
Using Dependency Walker
To generate logs for the Epic Games launcher using Dependency Walker, do the following.
- Download Dependency Walker 2.2 x64 from here.
- Extract depends22_x64.zip to C:\DWalker
- Open a command window as administrator (Start Menu -> type “cmd” in the search box and right click on cmd.exe and select Run as Administrator)
- Enter the following command to switch to the folder we extracted Dependency Walker to:
- cd C:\DWalker
- Enter the following command to have the tool generate logs while running Epic Games launcher:
- depends.exe /c /f:1 /pb /pp:1 /pg:1 /ot:Log.txt "c:\Program Files\Epic Games\Launcher\Engine\Binaries\Win64\EpicGamesLauncher.exe"
- Note: this step assumes that you have installed the launcher in the default location. If you have installed it elsewhere, you may need to update the file path accordingly.
- This will run the Epic Games launcher and you'll see the familiar 0xc000007b error message. Click OK to dismiss it as usual.
- You should now have a Log.txt file in the C:\DWalker folder. The next section will go over what to look for in this log to pinpoint the problem module.
Reading Dependency Walker Logs
If you followed the steps above, you should have a Log.txt file in your c:\DWalker folder. Open the log in a text editor and have a look. Use the points below as a guide when searching for errors. Don't get hung up on every little warning/error you spot in the log, Dependency Walker may generate many warnings and errors for an application but most of these will be harmless and can be ignored. If you have trouble interpreting these logs, please email the Player Support team and make sure to attach your logs. We would be happy to assist you with interpreting and actioning on them.
Search the log for the strings in bold:
- Error: Modules with different CPU types were found. This means the 64 bit process was given a 32 bit module. To pinpoint the module having the problem, look through the list of DLLs before the error appeared and find the one with the [ E ]. Here is an example of an xinput dll having issues loading: [ E ] c:\windows\system32\XINPUT1_3.DLL
- Error: At least one file was not a 32-bit or 64-bit Windows module. This means a DLL is probably corrupt. To pinpoint the module having the problem, look through the list of DLLs before the error appeared and find the one with the [ ! ]. Here is an example of an xinput dll which is corrupt: [ ! ] c:\windows\system32\XINPUT1_3.DLL
- At least one module was corrupted or unrecognizable to Dependency Walker, but still appeared to be a Windows module. This means a module was invalid. To pinpoint the module(s) having the problem, look through the list of DLLs before the warning appeared and find any with [ ! ] or [ !6]. Here is an example of a module that has this issue: [ !6] c:\windows\system32\D3DCOMPILER_43.DLL
What do I do once I pinpoint the problem?
First you'll need to find the product the DLL is associated with and try to reinstall/repair that product. You can generally learn what you need by searching for the DLL on Google. In the case, above, XINPUT1_3.dll is part of DirectX so you would download DirectX from a trusted Microsoft site and reinstall it. If the same issue shows up in the logs after doing that, you would get more aggressive with the reinstall: Backup your copy of the .dll, delete the original, try to reinstall again, and check to make sure a new copy of the dll was put in place.
Note: We HIGHLY recommend making sure that you download the DLLs from a trusted source. If you are unsure of where to download a new DLL, or have trouble at any point in this process, the Player Support team would be happy to assist you.
Troubleshooting the problem with Procmon
Sometimes, we won't be able to determine the source of the issue using Dependency Walker. Procmon is another tool that can be used to discover the cause. To generate a Procmon log, complete the following steps:
- Download Procmon here.
- Open the zip file you download and move the Procmon.exe to somewhere on your machine.
- Right click on that executable and select Run as administrator.
- When the application launches go to the menu bar at the top and select Filter then select Filter... from the menu that pops up.
- In the window that opens select the top left drop-down and change it to Process Name
- Change the drop-down directly to the left of that one to is.
- In the text box to the right of that enter EpicGamesLauncher.exe
- Click the Add button.
- Click OK.
- Run the launcher.
You should see the window in Procmon start to fill up. Once you have seen the error window show up from the launcher, dismiss the dialog and go back to Procmon and follow these steps:
- Go to the top left menu and select File, then Save...
- A Save To File dialog will appear. The default settings should be correct. They should be Events displayed using current filter and a format of native process monitor format.
- Check the file location and press Ok.
- Find that file on your PC and send it to the Player Support team (You may have to zip the file up).