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.
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.
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.
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.
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.
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.
Açılan analiz sekmesinde PML uzantılı ProcMon raporunuzu seçip sisteme yüklemeli ve hatayı aldığınız uygulamanın adını girmelisiniz.
Biz sorunu MSVCP140.dll
ve VCRUNTIME140.dll
olarak tespit etmiştik ve Technopat Sosyal 0xc000007b analiz yazılımı da aynı içeriği bizlere belirtiyor.
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.