"The program can't start because D3DCOMPILER_47.dll is missing from your computer". How to Fix It?
Microsoft DirectX is a collection of APIs (Application Programming Interfaces) responsible for managing game programming, video, and multimedia tasks. Most games on Windows computers use DirectX, and the D3DCOMPILER_47.dll file is part of Microsoft DirectX. If you have problems with this DLL file, you also have an issue with Microsoft DirectX.
The D3DCOMPILER_47.dll file is one of many files included in the Microsoft DirectX software collection. DirectX is used by most Windows-based games and graphics programs.
The "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error usually occurs when attempting to launch games or graphics programs. The error usually states that the file is 'missing' or 'not found.'
To fix the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error, you might need to install the latest version of DirectX, reinstall the problematic game or program, update video card drivers, re-register the D3DCOMPILER_47.dll file, scan the computer for malware, run the System File Checker tool, update the Windows operating system, or use the System Restore feature.
Read the guide below and follow the steps to find a solution.
Video on How to Fix "The program can't start because D3DCOMPILER_47.dll is missing from your computer" Error:
Table of Contents:
- Re-register D3DCOMPILER_47.dll File
- Update Your Graphics Drivers
- Update Windows
- Reinstall the Game or Program
- Run System File Checker
- Scan Your System for Malware
- Use the System Restore Feature
- Video on How to Fix "The program can't start because D3DCOMPILER_47.dll is missing from your computer" Error
Re-register D3DCOMPILER_47.dll File
It is usually registered automatically when you install a new game or a program that uses the D3DCOMPILER_47.dll file. This, however, might not have been performed for various reasons, and thus the operating system will be unable to find the file and reports it 'missing'. In this section, we describe how to register the D3DCOMPILER_47.dll file using Command Prompt.
Type "command prompt" in Search and right-click the "Command Prompt" result. Select the "Run as administrator" option from the contextual menu.
In Command Prompt, type the "regsvr32 /u D3DCompiler_47.dll" command and press Enter.
Now type the "regsvr32 /i D3DCompiler_47.dll" command and press Enter.
Close Command Prompt and try to launch the program or game and check if the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error persists. If you are still unable to launch it, proceed to the next solution.
Update Graphics 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. You can update video drivers by opening Device Manager.
Right-click the Start button and select the "Device Manager" result from the contextual menu, or type "device manager" in Search and click 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 then see the video adapter.
Right-click it and select the "Update driver" (or "Update driver software") option.
You will be asked to search for updated driver software automatically or to browse your computer for driver software. If you select the first option, Windows will search the computer and internet for the latest driver software for your device.
If you select the second option, you must find and install drivers manually. Using this option requires having downloaded drivers on the computer or USB flash drive. You will have to manually download the latest drivers for your device by visiting the device manufacturer's official website.
Select the option you prefer and follow the instructions. Once updates are installed, restart your computer and check if you are now able to launch the specific program (or game) without receiving 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). Therefore, DirectX updates are available through the Windows Update service.
If you have not updated the Windows operating system for some time, you might not have the latest DirectX version (and thus need to update Windows). Note that it is always a good idea to update the operating system. Therefore, we recommend you try this (even if it does not solve 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 installing updates, restart the computer and check if the problem persists.
Reinstall the Game or Program
If none of the methods above solved the problem, you could try to reinstall the game or program, 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 right-clicking the Start menu and selecting "Run" from the contextual menu.
Now type the "appwiz.cpl" command. Press Enter or click "OK" to execute the command.
In the Programs and Features window, locate the program/game and uninstall it by right-clicking on it and choosing the "Uninstall" option from the drop-down menu.
Once the uninstall is complete, reinstall the game or program and check if you can launch it without 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. To run the System File Checker, you need to use the Command Prompt sfc /scannow command (scannow is one of the switches available with the SFC command).
To run this tool, open Command Prompt as administrator, type the "sfc /scannow" command, and press Enter on the keyboard. System File Checker will start and take some time to complete. Wait for the scanning process to complete and restart the computer.
Try to launch the game or program and check if the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error persists.
Scan Your System for Malware
A virus or malware infection might be 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 this is the case, we recommend that you scan the system using antivirus software. You can use Windows Defender (a built-in antivirus program), which protects computers against viruses, spyware, and other malicious software. Alternatively, you can run other third-party antivirus software if installed.
To run a 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 the "Run a new advanced scan" option.
You will see three options: Full scan, Custom scan, and Windows Defender Offline scan. We recommend that you choose "Full scan", which will check all files and running programs on the hard disk. This will take some time (usually over an hour) to complete.
To start a Full scan, click "Scan now" when the "Full scan" option is selected.
If you have third-party antivirus software installed, you can use it instead of Windows Defender or choose a virus and malware scanner from our Top anti-malware list.
The list comprises well-known top spyware removers and will help you choose the right software for your computer's protection. You can find the list at this link.
Use the System Restore Feature
Finally, use the Windows System Restore feature. System Restore reverts everything to a saved restore point. First, you must have a restore point recorded. This feature will bring your system back to the previous working state with a created restore point without affecting your files and data.
If you have any system restore points created before the "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error, it is very likely that you will be able to solve this problem by restoring the system.
To restore the system, open the Run dialog box, 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, which should display more restore points. Select the most relevant restore point (depending on the time created, etc.) and click "Next".
Make sure that you select a restore point at a time when the D3DCOMPILER_47.dll problem did not exist.
Confirm the restore point. Your computer will be restored to the state before the event detailed in the "Description" field. If you are happy with your choice, click "Finish" and begin the system restore process.
If none of the methods above solved the problem, use the Steam client (if you have issues trying to launch a specific game that can also be played through Steam). Steam client is known to deal with .dll files efficiently, so using it should not raise any problems.
If you know of other solutions to this problem not mentioned in our guide, please share them with us by leaving a comment below.