Anasayfa Makale 0xc000007b Hatası Nasıl Çözülür? %100 Başarılı Yöntem!

0xc000007b Hatası Nasıl Çözülür? %100 Başarılı Yöntem!

Bugün, dünya çapında sık sık karşılaşılan 0xc000007b hatasının kesin çözümünü sizlere aktarıyoruz! Bazen kullanıcılar Windows bilgisayarlarında bir programı ya da oyunu açmak isterken bu hatayı alır. Peki bu hatanın nedeni nedir?

0xc000007b hatası nedir ve neden olur?

0xc000007b hatası, Windows sistemlerde “Uygulama düzgün olarak başlatılamadı (0xc000007b). Uygulamayı sonlandırmak için Tamam düğmesini tıklatın.” şeklinde karşımıza çıkar.

"<yoastmark

Bu da bize Windows dosyalarında ya da uygulamanın DLL dosyalarında bir bozulma veya eksiklik olduğunu gösterir. Bu hatayı özellikle güvenilir olmayan kaynaklardan (korsan kullanım) indirme yaparken almanız muhtemeldir.

0xc000007b hatasının sebebi, System32 ve SysWOW64 klasörlerine el ile kopyalanan DLL dosyalarıdır. Gerekli DLL dosyaları özgün yükleme medyası kullanılarak elde edilmelidir, el ile herhangi bir müdahalede bulunulmamalıdır. Peki bu hatayı nasıl çözeceğiz gelin bir de ona bakalım.

0xc000007b hatasının çözümü

Aslında bu hata, eksik paket kurulumlarında kendini gösterir. Windows’u kurduğunuzda Windows tarafından tüm C++ Redistributable for Visual Studio paketleri kurulmaz. Bu paketler, işletim sisteminde uygulamaların düzgün çalışabilmesi için gerekli DLL dosyalarını sisteminize yükler. Genel anlamda herkes tarafından yapılan hata elle DLL dosyasını indirip dosya konumuna atmaktır fakat bu yanlış bir hareket. Eksik DLL’leri kurmak için C++ Redistributable for Visual Studio paketlerini sisteme kurmanız gerekir.

Fakat bazen paketleri kurmanıza rağmen hatayı almaya devam edersiniz zira bozuk DLL dosyası hâlâ sistemde kuruluysa yeni DLL dosyası yüklenmez. Peki hatanın kaynağı olan DLL’i nereden buluruz? Tabii ki de Process Monitor kullanarak.

Process Monitor nedir ve ne işe yarar?

Process Monitor, bir diğer adıyla ProcMon; Windows için gerçek zamanlı dosya sistemi, Kayıt Defteri ve işlem/iş parçacığı etkinliğini gösteren gelişmiş bir izleme aracıdır. Kısacası işletim sisteminde o an çalışan tüm işlemleri her detayıyla takip edebilirsiniz. Biz de bu hatanın çözümünde ProcMon’la uygulamanın bulamadığı ya da erişemediği DLL’leri bulup onları onaracağız.

Process Monitor’le hata raporu almak

Öncelikle Process Monitor’ü indirmemiz gerekmekte ve bunun için de buradan Process Monitor’ü indirebilirsiniz. Ardından aşağıdaki video rehberimizi kullanarak hata raporunuzu oluşturabilirsiniz.

Process Monitor analiz ayarları

Process Monitor’ü kullanmak aslında göründüğünden çok daha basit bir hâle getirilebiliyor. Bunun için uygulamada Highlight yani vurgulama özelliğini kullanacağız. Bu özellik sayesinde alt alta bulunan on binlerce satırın içinden bizim işimize yarayacakları seçebiliyoruz. Bu da hata analizini hem hızlandırıyor hem de daha kolay hâle getiriyor.

Öncelikle Result yani sonuç kısmından NAME NOT FOUND yazan bir girdiyi seçiyoruz ve ona sağ tık yapıp Highlight ‘NAME NOT FOUND’ diyoruz. Bu sayede bütün NAME NOT FOUND sonucu veren işlem bilgileri vurgulanacaktır.

Process Monitor highlight
Process Monitor’de highlight özelliğini seçili durum için aktifleştirme.

Gördüğünüz gibi işlem öncesinde hiçbir vurgulama yokken işlem sonrası ihtiyacımız olan tüm içerikler vurgulanmış bir şekilde karşımıza çıkıyor.

"<yoastmark

Process Monitor ile hata analizi

NAME NOT FOUND ile belirtilen sonuçları işaretlediğinizde karşınıza çıkan tablo biraz şaşırtıcı olabilir. Burada NAME NOT FOUND olarak görünen her şeyin bir hata olmadığını belirtmekte fayda var. Peki hangilerinin hataya sebep olduğunu nasıl anlayacağız?

Bunun için raporun altına inerek “Thread Exit” işlemini bulalım. Zira Thread Exit, uygulamayı açma girişiminin son bulduğunu belirtiyor bize. Thread Exit ifadesinin üst taraflarından raporu incelemeye başlayalım. Ek olarak Thread Exit işlemi her zaman raporda olmayabilir ya da hemen üstünde çözümü barındırmayabilir. Bunun için yine de tüm raporu analiz etmekte fayda var.

Hatanın kaynağı olan DLL'ler
Görselde Thread Exit’in hemen birkaç işlem öncesindeki NAME NOT FOUND çıktıları yer almakta. Okla gösterilen DLL’ler sorunun kaynağı.

Gördüğünüz üzere MSVCP140.dll ve VCRUNTIME140.dll dosyaları Windows alt klasörleri tarafından bulunamamış. Fakat biraz daha yukarıya, kırmızı oklarla belirtilen yerlere baktığımızda ilgili dosyaların SysWOW64 konumunda bulunduğunu görüyoruz. O halde neden bu klasörün alt ve üst klasörlerinde bu DLL dosyaları bulunamıyor? Çünkü bu konuma bu dosyalar el ile kopyalanmış. Makalemizin başında da belirttiğimiz gibi el ile DLL yüklemek çözüm değildir, aksine işleri daha da kötü bir hâle sokabilir.

0xc000007b hatası için kesin çözüm

El ile kopyalanan dosyaları kopyalandığı konumdan (bu örnekte SysWOW64) siliyoruz. Sonra da sorun çıkaran DLL dosyalarının bulunduğu paketleri kurup dosyaların gereken konuma doğru bir şekilde yerleştirilmesini sağlıyoruz. Hangi dosyanın hangi paket ile geldiğini DLL Dosyaları Veritabanımızdan öğrenebilirsiniz. Örneğin biz aşağıda göründüğü üzere hatanın kaynağı olan DLL’imizi tespit edip veritabanından kontrol ettik.

DLL veritabanından ekran alıntısı
DLL veritabanından hatanın kaynağı olan DLL’e ait bileşen paketini (2013 ve 2015 paketlerini) indiriyoruz.

Alternatif çözüm: Technopat Sosyal 0xc000007b Hata Analiz Sistemi

Technopat bünyesinde Technopat Sosyal adına geliştirilmeye devam eden 0xc000007b hata analiz aracımızı kullanabilirsiniz. Bu sistemimizi kullanmak için öncelikle Technopat Sosyal’e üye olmanız gerekmekte. Nasıl üye olacağınızı bilmiyorsanız buradaki rehberimize ilerleyebilirsiniz.

Üye olduktan sonra Technopat Sosyal’de 0xc000007b Hata Analizi kategorisine ilerliyoruz. 0xc000007b Hata Analizi kategorisinde en üstte bulunan “Yeni analiz” seçeneğini seçiyoruz.

Yeni analiz seçeneğini seçiyoruz.
0xc000007b kategorisinde üst taraftan Yeni analiz diyoruz.

Açılan analiz sekmesinde PML uzantılı ProcMon raporunuzu seçip sisteme yüklemeli ve hatayı aldığınız uygulamanın adını girmelisiniz.

Analiz sayfası.
Technopat Sosyal 0xc000007b hata analiz sayfası.
Analiz sayfasının örnek kullanımı.
Analiz sayfasının örnek kullanımı.

Biz sorunu MSVCP140.dll ve VCRUNTIME140.dllolarak tespit etmiştik ve Technopat Sosyal 0xc000007b analiz yazılımı da aynı içeriği bizlere belirtiyor.

0xc000007b analiz çıktısı
Gördüğünüz gibi 0xc000007b analizi bizim de bulduğumuz sonuçları verdi.

Technopat botunun verdiklerini uygulamanız sonucunda siz de sorununuzu çözüme kavuşturabilirsiniz.

Alternatif çözüm: Visual C++ Redistributable Runtimes Hepsi Bir Arada ve DirectX paketlerini kurun

Visual C++ Redistributable Runtimes Toplu Paket ve DirectX indirme aracını daha önce hiç paket kurulumu yapmadıysanız kurmayı deneyebilirsiniz. Başlarda da dediğimiz gibi Windows tüm gerekli olan paketleri varsayılan olarak kurmuyor ve sizin kurmanız gerekebiliyor. Bu durumlarda da Runtimes toplu paketi kurarak tüm Runtimes paketlerini tek seferde kurabilirsiniz.

Runtimes toplu paketini kurmak için öncelikle buraya ilerleyin. ZIP dosyası indikten sonra dosyayı arşivden çıkarın ve içerisindeki install_all.bat dosyasını yönetici olarak çalıştırın. BAT dosyası tüm paketleri tek tek sizin için kuracaktır ve sizin yapmanız gereken tek şey arkanıza yaslanıp keyfinize bakmak olacaktır.

DirectX yükleyicisini de indirmek için buraya ilerleyin. İndirdikten sonra açın ve “Install the Bing Bar” seçeneğini devre dışı bırakın. Devamında direkt ileri diyerek kurulumu tamamlayabilirsiniz.

Yine de hatırlatalım, bu bahsettiğimiz paketler yalnızca daha önce kurulum yapmamanız durumunda çalışacaktır. Yani sistem DLL paketlerine müdahale ettiyseniz bu yöntem işe yaramayacaktır, bilginize.

Sonuç

Sonuç olarak bugün Windows’ta 0xc000007b hatasının çözümünü ve detaylı analizini öğrenmiş bulunmaktayız. Yine de sorun yaşamanız durumunda Technopat Sosyal‘de 0xc000007b Hata Analizi kategorisinde kendi konunuzu oluşturabilirsiniz ve teknik destek alabilirsiniz. Hatasız günler dileriz.