D3DCOMPILER_47.dll is missing

"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) responsible for managing tasks relating to game programming, video, and multimedia. Most games on Windows computers use DirectX, and the D3DCOMPILER_47.dll file is also part of Microsoft DirectX. If you have problems with the D3DCOMPILER_47.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 one of these games or graphics programs. A problem with the D3DCOMPILER_47.dll file can occur on almost any Microsoft operating system, starting from Windows 98. 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.

D3DCOMPILER 47.dll is missing

Table of Contents:

Re-register D3DCOMPILER_47.dll file

When you install a new game or a program that uses the D3DCOMPILER_47.dll file, it is usually registered automatically. 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.

re-register D3DCOMPILER_47.dll file step 1

In Command Prompt, type the "regsvr32 /u D3DCompiler_47.dll" command and press Enter.

re-register D3DCOMPILER_47.dll file step 2

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.

re-register D3DCOMPILER_47.dll file step 3

[Back to Table of Contents]

Update 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. A device driver is 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 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.

update your video drivers step 1

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.

update your video drivers step 2

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, Windows will search the computer and internet for the latest driver software for your device. If you select the second option, you must locate and install drivers manually. Using this option requires having previously downloaded the drivers on the computer or USB flash drive - 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 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.

update your video drivers step 3

[Back to Table of Contents]

Update Windows

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, it is possible that you do 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 to 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.

update windows step 1

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 updates are installed (if there were any to install), restart the computer and check if the problem persists.

update windows step 2

[Back to Table of Contents]

Reinstall the game or a 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 by right-clicking the Start menu and selecting "Run" from the contextual menu.

reinstall the game or the program step 1

Now type the "appwiz.cpl" command. Press Enter or click "OK" to execute the command.

reinstall the game or the program step 2

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 are able to launch it without the D3DCOMPILER_47.dll error.

reinstall the game or the program step 3

[Back to Table of Contents]

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 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 should take some time to complete the scan (about 15 minutes). 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.

run system file checker

[Back to Table of Contents]

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 to 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.

scan your system for malware step 1

In the Virus & threat protection window, find and click the "Run a new advanced scan" option.

scan your system for malware step 2

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.

scan your system for malware step 3

If you have third-party antivirus software installed, you can use this instead of Windows Defender, or you can 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

[Back to Table of Contents]

Use 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. 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, 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.

use system restore feature step 1

Now click the "Next" button.

use system restore feature step 2

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.

use system restore feature step 3

Confirm the 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.

use system restore feature step 4

If none of the methods above solved the problem, use the Steam client (if you are having problems when trying to launch a specific game that can also be played through Steam). Steam client is known to deal with .dll files efficiently, and so using it should not raise any such problems. If you know of other solutions to this problem, not mentioned in our guide, please share them with us by leaving a comment in the section below. 

[Back to Table of Contents]

Video Showing How To Fix "The program can't start because D3DCOMPILER_47.dll is missing from your computer" error:

[Back to Top]

About the author:

Tomas Meskauskas

I am passionate about computer security and technology. I have an experience of 10 years working in various companies related to computer technical issue solving and Internet security. I have been working as an editor for pcrisk.com since 2010. Follow me on Twitter to stay informed about the latest tech news or online security threats. Contact Tomas Meskauskas.

Our guides are free. However, if you want to support us you can send us a donation.