DLL bulunamadı hataları: DirectX, Visual C++ ve .NET eksiklerini doğru yoldan gidermek
Bir oyun ya da program açılırken "MSVCP140.dll bulunamadı", "VCRUNTIME140.dll eksik", "d3dx9_43.dll bulunamadı" ya da "XINPUT1_3.dll" gibi hatalar veriyorsa, programın çalışmak için ihtiyaç duyduğu bir çalışma zamanı kütüphanesi (runtime) bilgisayarda kurulu değil ya da bozulmuş demektir.
Önemli uyarı: DLL siteleri
İnternette "DLL indir" diyen sitelerden tek bir DLL dosyası indirip System32 klasörüne kopyalamak önerilmez:
- Dosyanın yanlış sürüm ya da yanlış mimari (32/64 bit) olması yeni hatalara yol açar.
- Bu sitelerdeki dosyaların içine zararlı kod eklenmiş olabilir.
- Eksik olan genellikle tek bir dosya değil, bir paketin tamamıdır.
Doğru çözüm, ilgili paketi Microsoft'un resmi sitesinden kurmaktır.
Hangi hata hangi paketi gösterir?
MSVCP140.dll, VCRUNTIME140.dll, VCRUNTIME140_1.dll, MSVCR120.dll, MSVCP110.dll
Bunlar Microsoft Visual C++ Yeniden Dağıtılabilir paketleridir. Dosya adındaki sayı sürümü gösterir (140: 2015 ve sonrası, 120: 2013, 110: 2012). Microsoft'un "en son desteklenen Visual C++ yeniden dağıtılabilir paketleri" sayfasından indir.
- 64 bit Windows'ta hem x64 hem x86 sürümlerini kur. 32 bit oyunlar x86 paketini kullanır.
- Bu paketler yan yana çalışmak üzere tasarlanmıştır, eski sürümleri kaldırma.
d3dx9_xx.dll, d3dx10_xx.dll, d3dx11_xx.dll, XINPUT1_3.dll, X3DAudio1_7.dll
Bunlar eski DirectX bileşenleridir. Windows 10 ve 11'de DirectX 12 yüklü olsa da eski oyunlar DirectX 9/10/11'in ek kütüphanelerine ihtiyaç duyar. Microsoft'un DirectX End-User Runtime Web Installer aracını kur; eksik eski bileşenleri ekler, mevcut DirectX'i bozmaz.
.NET Framework hataları (".NET Framework 3.5 gerekiyor" gibi)
Denetim Masası → Programlar → Windows özelliklerini aç veya kapat bölümünden ".NET Framework 3.5" kutusunu işaretle. Yeni .NET (6, 8 gibi) gerektiren uygulamalar için Microsoft'un .NET indirme sayfasından istenen sürümün "Desktop Runtime" paketini kur.
Oyunun kendi kurulum klasörü
Steam ve diğer mağazalardaki pek çok oyun, gereken paketleri kendi klasöründe getirir. Oyun klasöründe _CommonRedist, Redist ya da DirectX gibi bir klasör varsa içindeki kurulum dosyalarını çalıştırmayı dene.
Paketler kurulu ama hata devam ediyorsa
- Visual C++ paketlerinde Ayarlar → Uygulamalar listesinden ilgili paketi bulup Değiştir → Onar seçeneğini kullan.
- Oyun mağazasının "dosyaları doğrula / onar" özelliğini çalıştır; eksik ya da bozuk oyun dosyalarını yeniden indirir.
- Antivirüs programının oyunun bir dosyasını karantinaya alıp almadığını kontrol et.
- Windows sistem dosyalarını onarmak için yönetici olarak açılmış Komut İstemi'nde sırayla:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Lisanssız oyunlarda
"Crack" dosyalarıyla gelen değiştirilmiş DLL'ler (steam_api64.dll gibi) antivirüs tarafından silinir ve oyun açılmaz. Bu tür kurulumlar zararlı yazılım riski taşıdığı için forumda destek verilmez.
Hata mesajının tam metnini ve oyunun adını bu konunun altına yazarsan hangi paketin eksik olduğunu birlikte bulabiliriz.