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

Adanali

Member
Bugün, dünya çapında sık sık karşılaşılan 0xc000007b yanılgısının kesin tahlilini sizlere aktarıyoruz! kimi vakit kullanıcılar Windows bilgisayarlarında bir programı ya da oyunu açmak isterken bu yanılgıyı alır. Pekala bu yanılgının sebebi nedir?

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


Bu da bize Windows belgelerinde ya da uygulamanın DLL belgelerinde bir bozulma yahut eksiklik olduğunu gösterir. Bu yanılgıyı bilhassa muteber olmayan kaynaklardan (korsan kullanım) indirme yaparken almanız olasıdır.

0xc000007b kusurunun niçini, System32 ve SysWOW64 klasörlerine el ile kopyalanan DLL belgeleridir. Gerekli DLL belgeleri özgün yükleme medyası kullanılarak elde edilmelidir, el ile rastgele bir müdahalede bulunulmamalıdır. Pekala bu yanılgıyı nasıl çözeceğiz gelin bir de ona bakalım.

Aslında bu yanılgı, eksik paket kurulumlarında kendini gösterir. Windows’u kurduğunuzda Windows tarafınca 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 belgelerini sisteminize yükler. Genel manada herkes tarafınca yapılan yanılgı elle DLL evrakını indirip belge pozisyonuna atmaktır lakin bu yanlış bir hareket. Eksik DLL’leri kurmak için C++ Redistributable for Visual Studio paketlerini sisteme kurmanız gerekir.

Fakat kimi vakit paketleri kurmanıza karşın yanılgıyı almaya devam edersiniz çünkü bozuk DLL belgesi hâlâ sistemde heyetiyse yeni DLL evrakı yüklenmez. Pekala yanılgının kaynağı olan DLL’i nereden buluruz? Natürel ki de Process Monitor kullanarak.

Process Monitor nedir ve ne işe fayda?

Process Monitor, bir başka ismiyle ProcMon; Windows için gerçek vakitli evrak sistemi, Kayıt Defteri ve işlem/iş parçacığı aktifliğini gösteren gelişmiş bir izleme aracıdır. özetlemek gerekirsesı işletim sisteminde o an çalışan tüm süreçleri her ayrıntısıyla takip edebilirsiniz. Biz de bu kusurun tahlilinde ProcMon’la uygulamanın bulamadığı ya da erişemediği DLL’leri bulup onları onaracağız.

Process Monitor’le yanılgı raporu almak

Öncelikle Process Monitor’ü indirmemiz gerekmekte ve bunun için de buradan Process Monitor’ü indirebilirsiniz. Akabinde aşağıdaki görüntü rehberimizi kullanarak yanılgı raporunuzu oluşturabilirsiniz.


Process Monitor tahlil ayarları

Process Monitor’ü kullanmak aslında göründüğünden çok daha sıradan bir hâle getirilebiliyor. Bunun için uygulamada Highlight yani vurgulama özelliğini kullanacağız. Bu özellik yardımıyla alt alta bulunan on binlerce satırın ortasından bizim işimize yarayacakları seçebiliyoruz. Bu da yanılgı tahlilini hem hızlandırıyor birebir vakitte 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 kararı veren süreç ayrıntıları vurgulanacaktır.

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

Gördüğünüz üzere süreç öncesinde hiç bir vurgulama yokken süreç daha sonrası gereksinimimiz olan tüm içerikler vurgulanmış bir biçimde karşımıza çıkıyor.


Process Monitor ile yanılgı analizi

NAME NOT FOUND ile belirtilen sonuçları işaretlediğinizde karşınıza çıkan tablo biraz şaşırtan olabilir. Burada NAME NOT FOUND olarak görünen her şeyin bir yanılgı olmadığını belirtmekte yarar var. Pekala hangilerinin yanlışa sebep olduğunu nasıl anlayacağız?

Bunun için raporun altına inerek “Thread Exit” sürecini bulalım. Çünkü Thread Exit, uygulamayı açma teşebbüsünün son bulduğunu belirtiyor bize. Thread Exit tabirinin üst taraflarından raporu incelemeye başlayalım. Ek olarak Thread Exit süreci her vakit raporda olmayabilir ya da çabucak üstünde tahlili barındırmayabilir. Bunun için bir daha de tüm raporu tahlil etmekte yarar var.

Görselde Thread Exit’in çabucak birkaç süreç ö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 belgeleri Windows alt klasörleri tarafınca bulunamamış. Lakin biraz daha üste, kırmızı oklarla belirtilen yerlere baktığımızda ilgili belgelerin SysWOW64 pozisyonunda bulunduğunu görüyoruz. bu biçimde niye bu klasörün alt ve üst klasörlerinde bu DLL belgeleri bulunamıyor? Zira bu pozisyona bu evraklar el ile kopyalanmış. Makalemizin başında da belirttiğimiz üzere el ile DLL yüklemek tahlil değildir, bilakis işleri daha da makûs bir hâle sokabilir.

El ile kopyalanan belgeleri kopyalandığı pozisyondan (bu örnekte SysWOW64) siliyoruz. daha sonra da sorun çıkaran DLL belgelerinin bulunduğu paketleri kurup belgelerin gereken pozisyona hakikat bir biçimde yerleştirilmesini sağlıyoruz. Hangi evrakın hangi paket ile geldiğini DLL Belgeleri Veritabanımızdan öğrenebilirsiniz. Örneğin biz aşağıda göründüğü üzere yanlışın kaynağı olan DLL’imizi tespit edip veritabanından denetim ettik.

DLL veritabanından kusurun kaynağı olan DLL’e ilişkin bileşen paketini (2013 ve 2015 paketlerini) indiriyoruz.

Technopat bünyesinde Technopat Toplumsal ismine geliştirilmeye devam eden 0xc000007b kusur tahlil aracımızı kullanabilirsiniz. Bu sistemimizi kullanmak için evvela Technopat Sosyal’e üye olmanız gerekmekte. Nasıl üye olacağınızı bilmiyorsanız buradaki rehberimize ilerleyebilirsiniz.

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

0xc000007b kategorisinde üst taraftan Yeni tahlil diyoruz.

Açılan tahlil sekmesinde PML uzantılı ProcMon raporunuzu seçip sisteme yüklemeli ve yanılgıyı aldığınız uygulamanın ismini girmelisiniz.

Technopat Toplumsal 0xc000007b yanılgı tahlil sayfası.
Analiz sayfasının örnek kullanması.

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

Gördüğünüz üzere 0xc000007b tahlili bizim de bulduğumuz sonuçları verdi.

Technopat botunun verdiklerini uygulamanız kararında siz de sıkıntınızı tahlile kavuşturabilirsiniz.

Visual C++ Redistributable Runtimes Toplu Paket ve DirectX indirme aracını daha evvel hiç paket heyetimi yapmadıysanız kurmayı deneyebilirsiniz. Başlarda da dediğimiz üzere Windows tüm gerekli olan paketleri var iseyı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 evvela buraya ilerleyin. ZIP evrakı indikten daha sonra belgeyi arşivden çıkarın ve içerisindeki install_all.bat belgesini yönetici olarak çalıştırın. BAT belgesi tüm paketleri tek tek sizin için kuracaktır ve sizin yapmanız gereken tek şey ardınıza yaslanıp keyfinize bakmak olacaktır.

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

bir daha de hatırlatalım, bu bahsetmiş olduğumiz paketler sadece daha evvel heyetim yapmamanız durumunda çalışacaktır. Yani sistem DLL paketlerine müdahale ettiyseniz bu prosedür işe yaramayacaktır, bilginize.

Sonuç olarak bugün Windows’ta 0xc000007b kusurunun tahlilini ve ayrıntılı tahlilini öğrenmiş bulunmaktayız. bir daha de sorun yaşamanız durumunda Technopat Sosyal‘de 0xc000007b Yanılgı Tahlili kategorisinde kendi bahsinizi oluşturabilirsiniz ve teknik dayanak alabilirsiniz. Kusursuz günler dileriz.