Do DLL repair tools actually work?
For the most common cause of a missing DLL there is nothing to repair. The file was never there, because the runtime package that contains it is not installed. No tool can repair a file that was never on the disk.
Why the category exists
A missing DLL produces an alarming error, gives no clue what to do, and happens to people in the middle of trying to use something. That combination is commercially attractive, which is why an entire software category grew up around it.
The problem is that the two real causes both have specific answers, and neither of them is a generic repair pass. Either a runtime package is missing, in which case installing it is the whole fix, or Windows system files are damaged, in which case Windows already includes the tool that repairs them against Microsoft's own catalogue.
Any tool that offers to supply a system DLL has to get that file from somewhere. A DLL that did not come from the publisher, verified, is a file you are choosing to trust for no reason, and it will be loaded into other programs by design.
What to run instead
Open Terminal or Command Prompt as administrator and run these in order.
sfc /scannowChecks every protected Windows system file against Microsoft's own catalogue and restores any that do not match. This is the actual repair tool, and it ships with Windows.
DISM /Online /Cleanup-Image /RestoreHealthRepairs the component store that sfc draws its replacement files from. Run this when sfc reports it found problems it could not fix, then run sfc again.
chkdsk /fChecks the drive for filesystem errors. Worth running when files keep going missing, because a failing disk corrupts data faster than anything can repair it.
If it is a runtime DLL, none of the above applies
Files such as vcruntime140.dll, msvcp140.dll and d3dx9_43.dll are not Windows system files, so sfc will not restore them and never should. They belong to redistributable packages that simply are not installed yet.
Find which runtime contains your file, and install that package from the publisher with its hash published alongside.
The short version
- Missing runtime DLL. Install the redistributable it belongs to. Nothing to repair.
- Damaged Windows file. Run sfc /scannow, then DISM. Included with Windows, verified against Microsoft catalogues.
- File belongs to a game or application. Use that program's own repair or verify function.