"The program can't start because D3DCOMPILER_47.dll is missing from your computer". How to fix it?
Microsoft DirectX is a collection or APIs (Application Programming Interfaces) which is responsible for managing task related to game programming and video and multimedia. Most of the games on Windows computers are using DirectX, and the D3DCOMPILER_47.dll file is a part of Microsoft DirectX as well. If you are having problems with the D3DCOMPILER_47.dll file, then you have an issue with the Microsoft DirectX as well.
The D3DCOMPILER_47.dll file is one of the many files that is included in the Microsoft DirectX software collection. DirectX is used by most Windows based games and graphics programs and the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error usually occurs when you are trying to launch one of these games or graphics programs. A problem with the D3DCOMPILER_47.dll file could occur on almost any Microsoft operating system starting from Windows 98 and usually the error states that this file is whether missing or not found.
In order to fix this "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error you may need to install the latest version of DirectX, reinstall the problematic game or program, update your video card drivers, re-register the D3DCOMPILER_47.dll file, scan you computer for malware, run the System File Checker tool, update your Windows operating system or to use the System Restore feature. If you are not sure how to apply these methods, then read the guide below and follow our described steps one by one, and see which solution does the trick for you.
Table of Contents:
- Re-register D3DCOMPILER_47.dll file
- Update your video drivers
- Update Windows
- Reinstall the game or a program
- Run System File Checker
- Scan your system for malware
- Use System Restore feature
- Video showing how to fix "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error
Re-register D3DCOMPILER_47.dll file
Usually when you install a new game or a program which uses the D3DCOMPILER_47.dll, this file gets registered automatically. However, it is possible that for some reason the D3DCOMPILER_47.dll file could not be registered and that is why the operating system cannot find it and says that it is missing. In this guide we are going to show you how to register D3DCOMPILER_47.dll file using Command Prompt. To do so, type "command prompt" in Search and right-click the "Command Prompt" result, select "Run as administrator" option from the contextual menu.
Once you have the Command Prompt open, type the "regsvr32 /u D3DCompiler_47.dll" command and press Enter.
Now type the "regsvr32 /i D3DCompiler_47.dll" command and press Enter again. Close Command Prompt and try to launch the program or a game and see if the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error still persists. If you are still unable to launch it, then proceed to the next solution.
Update your video drivers
It is possible that the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error occurs due to corrupt or outdated video drivers. Device driver is a software that informs the operating system and other software how to interact with particular hardware. It is rather like a translator between software and hardware, since they often are created by different manufacturers, companies, or people. The driver facilitates smooth communication between hardware and software. In most cases, computers are unable to send and receive data correctly without drivers. If the appropriate driver is not installed, the device might not function properly, if at all. You can update your video drivers by opening Device Manager by right-clicking the Start button and selecting "Device Manager" result from the contextual menu or typing "device manager" in Search and clicking the "Device Manager" result.
In Device Manager you will see a list of devices connected to your computer. In this case you need to expand the "Display adapters" section. You should see your video adapter there, right-click it and select "Update driver" (or "Update driver software") option.
You will be asked if you want to search for updated driver software automatically or to browse your computer for driver software. If you select the first option, then Windows will search your computer and the Internet for the latest driver software for your device. If you select the second option, then you will have to locate and install the drivers manually. Using this option requires having downloaded driver on your computer or USB flash drive and it is a longer process, because you will have to download the latest drivers for your device manually by visiting the device manufacturer's official website. Select the option you prefer and follow the instructions. Once the updates are installed, restart your computer and see if you are now able to launch a particular program (or a game) without getting the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error.
DirectX 11.3 and DirectX 12 are included in Windows 10 and there is no stand-alone package for these versions of DirectX (DirectX 12 is the latest one). It means that DirectX updates are available through Windows Update service. If you have not updated your Windows operating system for a long time, then it is possible that you do not have the latest DirectX version as well and you need to update your Windows. Besides, it is always a good idea to update your operating system, that is why we recommend you to try this one out even if it will not solve the problem with the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error. To check for Windows Updates, type "check for updates" in Search and click the "Check for updates" result.
You should be automatically directed to the Windows Update section. Click "Check for updates". Windows will start checking for updates. If there are updates available, install them. After the updates are installed (if there were any to install), restart your computer and see if the problem still persists.
Reinstall the game or a program
If none of the methods mentioned above solved the problem, then you might want to reinstall that particular game or a program which is causing the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error. To uninstall it open the Run dialog box (by pressing Windows key + R) or by right-clicking the Start menu and selecting "Run" from the contextual menu first.
Now type the "appwiz.cpl" command. Press Enter or click "OK" to execute the command.
In Programs and Features window locate the program or a game and uninstall it by right-clicking on it and choosing "Uninstall" option from the dropdown menu. Once the uninstall is complete, install the game or a program again and see if you are able to launch it without getting the D3DCOMPILER_47.dll error.
Run System File Checker
System File Checker is a Windows utility that allows users to scan for corruptions in system files and restore them. This guide describes how to run the System File Checker tool (SFC.exe) to scan system files and repair any missing or corrupted ones. To run the System File Checker you need to use the Command Prompt's sfc /scannow command, it is one of the switches available for the sfc command. To run this tool open Command Prompt as administrator again. Once you have it open, type the "sfc /scannow" command and press Enter on your keyboard. System File Checker will start and should take some time to complete the scan (about 15 minutes). Wait for the scanning process to complete and restart your computer. Then try to launch a particular game or program again and see if the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error still persists.
Scan your system for malware
It is also possible that there is some virus or malware infection and it is preventing some programs from working properly and causing the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error. If that is the case, we recommend you to scan your system using antivirus. You can use Windows Defender (built-in antivirus program) which protects your computer against viruses, spyware, other malicious software. Or you can run any other third-party antivirus if you have one installed. To run full system scan using Windows Defender type "virus" in Search and click on the "Virus & threat protection" result.
In the Virus & threat protection window find and click "Run a new advanced scan" option.
You will see three options: Full scan, Custom scan and Windows Defender Offline scan. We recommend you to choose the "Full scan" which will check all files and running programs on your hard disk but it will take some time, usually it takes more than one hour to complete. To start Full scan click "Scan now" when the "Full scan" option is selected.
If you have a third-party antivirus software installed, then you can use that one instead of Windows Defender. Or you can choose a virus and malware scanner from our Top anti-malware list. The list consists of well known top spyware removers and will help you choose the right software for your computer's protection. You can find the list by clicking this link.
Use System Restore feature
The last thing we recommend you to try is to use Windows System Restore feature. System Restore reverts everything to a saved restore point, but first, you must have one recorded. If a restore point does not exist on your computer, System Restore has nothing to revert to. With a created restore point, this feature will bring your system back to the previous working state, without affecting your files and data. If you have any system restore points that were created before the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error, then it is very likely that you will be able to solve this problem by restoring your system. To restore your system open Run dialog box again, type the "rstrui.exe" command and press Enter.
Now click the "Next" button.
If there are restore points created, you will see a list of them. Mark the "Show more restore points" checkbox and it should display more restore points. Select the restore point that suits you best (depending on the time created etc.) and click "Next". Make sure to select a restore point where the problem with the D3DCOMPILER_47.dll was not present yet.
Confirm your restore point. Your computer will be restored to the state prior to the event detailed in the "Description" field. If you are happy with your choice, click "Finish" and the system restore process will begin.
If none of the methods above solved the problem for you, then we recommend you to try use the Steam client if you are having problems when trying to launch a particular game which could be played through Steam as well. It is known that Steam client deals with the .dll files pretty well and using it there should not be any problems like this one. If there is another way to solve this problem and it is not mentioned in our guide, do not hesitate to share it with us and with the others by leaving a comment in our comment section below.
Video Showing How To Fix "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error: