Windows işletim sistemlerinde uygulama veya oyunları başlatırken sıkça karşılaşılan sorun hocam. Birçok farklı çözüm denemen gerekiyor. Bu hatayı genellikle güvenilir olmayan kaynaklardan (korsan yazılım) indirilen programlar ya da uyumsuz yazılım bölümleri tetikler. Hatanın temel sebebi, System32 ve SysWOW64 klasörlerine elle kopyalanan DLL dosyalarıdır. Gerekli DLL dosyalarının orijinal yükleme medyasından elde edilmesi gerekir; elle yapılan değişiklikler sisteme zarar verebilir.
Genellikle kullanıcılar, 0xc000007b hatasıyla karşılaştıklarında eksik veya bozuk DLL dosyalarını manuel olarak indirip sistem klasörlerine eklemeye çalışır. Ancak bu yöntem çoğu zaman sorunu çözmek yerine daha da karmaşık hale getirir. Doğru yöntem, eksik bileşenleri orijinal kaynaklardan yüklemektir.
Process Monitor, Windows üzerinde çalışan tüm işlemleri, dosya sistemini ve Kayıt Defteri etkinliklerini gerçek zamanlı olarak izlemeye yarayan gelişmiş bir tanılama aracıdır. Bu aracı kullanarak, hataya sebep olan eksik veya erişilemeyen DLL dosyalarını tespit edebiliriz.
Process Monitor ile Hata Analizi
- Process Monitor'ü indirin ve çalıştırın.
- Program açıldıktan sonra, hatayı veren uygulamayı başlatın.
- Process Monitor ekranında, işlemleri daha kolay analiz edebilmek için Highlight (Vurgulama) özelliğini kullanacağız.
- "Result" (Sonuç) sekmesinden NAME NOT FOUND hatasını içeren bir girdiyi seçin ve sağ tıklayarak Highlight ‘NAME NOT FOUND’ seçeneğini etkinleştirin.
- Böylece tüm eksik dosyalar vurgulanacak ve soruna neden olan DLL dosyalarını daha rahat tespit edebileceksiniz.
Hatanın Kaynağını Belirleme
Hata raporunu incelediğinizde, NAME NOT FOUND sonucu veren satırların tümü gerçek bir hata değildir. Asıl soruna sebep olan dosyayı belirlemek için Thread Exit işlemine kadar geri gidin ve onun hemen öncesindeki eksik dosyaları kontrol edin.
Örneğin, sık karşılaşılan bir senaryoda MSVCP140.dll ve VCRUNTIME140.dll dosyalarının bulunamadığını görebilirsiniz. Ancak bu dosyalar SysWOW64 klasöründe mevcut olabilir. Eğer bu dosyalar el ile kopyalanmışsa, sistem bunları tanımayabilir ve hata oluşabilir.
0xc000007b Hatası İçin Kesin Çözüm
- Elle kopyalanan DLL dosyalarını kaldırın: Eğer bir DLL dosyasını manuel olarak eklediyseniz, bunu kaldırmanız gerekir. Örneğin, SysWOW64 veya System32 klasöründeki yanlış konumlandırılmış DLL dosyalarını silin.
- Gerekli bileşenleri resmi kaynaktan yükleyin:
- Microsoft Visual C++ Redistributable paketlerini yükleyin (2013, 2015, 2017, 2019 ve en güncel sürümler).
- DirectX güncellemelerini yapın.
- Bilgisayarınızı yeniden başlatın ve uygulamanın tekrar çalışıp çalışmadığını kontrol edin.