我的是c++2010,已解决
DirectX用4.0版本
选项-常规-右下角修复失败时启用调试模式
这样修复失败会看到原因
----------------------------
我的修复失败原因是3个.dll文件被占用
通过路径找到那3个.dll文件,删除
(如果显示被QPCore service服务占用删除不了,就卸载QQ再删,也可以禁用,就是步骤太繁琐)
删完之后打开DirectX修复,解决
------------------------------
可能大家遇到的情况不同,我用自己的解决办法提供个思路
希望能有帮助