Skocz do zawartości
MitycznyJeż

[Poradnik] Jak naprawić błąd 0xc000007b

Rekomendowane odpowiedzi

Z racji że sporo osób ma wspomniany problem, a rozwiązanie go jest relatywnie łatwe to stwierdziłem, że zrobię przyjazny poradnik. W trzech prostych etapach :)

W przypadku jakiś niejasności/nieścisłości w instrukcji, proszę o PM.

 

Słowem wstępu: Ten błąd nie pojawia się sam z siebie: jest skutkiem wrzucania na oślep plików dll do katalogów systemowych, folderów gry, bądź używania dll-fixerów wątpliwej reputacji. Nie powinno się tego robić. Jeżeli przy próbie uruchomienia programu brakuje jakiegoś pliku DLL, to należy doinstalować paczkę go zawierającą, patrz trzeci etap instrukcji.

 

:exclam:UWAGA! Tą instrukcję należy czytać w całości i z pełnym zrozumieniem. Opuszczenie któregoś etapu bądź niedoczytanie jakiegoś fragmentu może w najgorszym wypadku doprowadzić system do stanu nieużywalności. W przypadku niejasności bądź innych problemów pisz PW. :exclam:

 

Etap 1: Określenie z którym dokładnie programem jest problem, oraz czy jest 32/64bit

 

a) Próbujemy uruchomić program z którym mamy problem. Otrzymujemy komunikat o błędzie, którego nie zamykamy! Zwracamy uwagę na nazwę pliku exe, która jest widoczna w pasku tytułu komunikatu:

 

image.png

 

b) Pobieramy i uruchamiamy Process Explorer jako administrator.

Szukamy w drzewie procesów wspomnianego pliku exe, klikamy na nim prawym przyciskiem myszy i wybieramy Properties (właściwości):

 

image.png

 

c) Spisujemy sobie/zapamiętujemy dokładną ścieżkę do exe oraz jego architekturę: 32bit bądź 64bit:

 

1cut.png

 

Teraz możemy kliknąć "OK" w oknie komunikatu o błędzie.

 

Etap 2: Określenie z którym plikiem DLL jest problem oraz usunięcie go

 

a) Pobieramy i uruchamiamy Dependency Walker:

Jeżeli nasz program jest 32bit, to pobieramy wersję x86

Jeżeli natomiast 64bit, to pobieramy wersję x64.

 

b) Upewniamy się że opcja view -> show full paths jest zaznaczona.

Następnie wybieramy file -> open i wskazujemy plik exe.

Program chwilkę "pomieli", a następnie pokaże komunikat o błędzie. Ignorujemy go i klikamy OK.

 

c) W tabelce na środku klikamy nagłówek kolumny "CPU" tak, aby zawartość posortowała się względem tej wartości.

Ignorujemy nieznalezione pliki - ich brak nie powoduje żadnych błędów, to normalna sytuacja dla większości aplikacji.

Znajdujemy wszystkie pozycje, których wartość CPU jest widoczna na czerwono:

 

image.png

 

d) Ręcznie (przez np. eksplorator plików) usuwamy wadliwe pliki bądź zmieniamy ich nazwę/przenosimy je.

:exclam: Uwaga! Jeżeli nasza aplikacja jest 32bitowa, to wbrew temu co jest napisane problematyczny plik nie znajduje się w system32, a w syswow64. :exclam:

 

 

Etap 3: Instalacja paczki zawierającej brakujący plik

 

Pamiętajmy, że potrzebujemy paczki w architekturze takiej jak nasz program: 32bit -> x86, 64bit -> x64.

Jeżeli w nazwie pliku dll znajdował się napis:

"80" -> visual c++ redist 2005

"90" -> visual c++ redist 2008

"100" -> visual c++ redist 2010

"110" -> visual c++ redist 2012

"120" -> visual c++ redist 2013

"140" -> visual c++ redist 2015

Najnowsze redisty można samemu znaleźć albo wspomóc się stroną zbiorczą tutaj.

"d3", większość zaczynających się na "x" -> directx websetup

 

 

Po wykonaniu powyższych etapów program powinien działać.

Jeżeli błąd 0xc000007b powtórzy się, to możliwe że jest błąd w innej aplikacji z innym plikiem DLL - wtedy trzeba wykonać całą procedurę jeszcze raz.

Edytowane przez MitycznyJeż
  • Thanks 3

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Powiem Tobie że starałem się zrobić tym sposobem co piszesz...mam ten program PROCESS Explorer,ale nie wykrywa mi pliku exe fify 15 nie wiem dlaczego w sumie...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

To chyba jedyna rzecz, której nie robiłem, żeby naprawić ten śmieszny błąd.

 

No ale mam bład. Jak mam włączone okienko z błędem i w tym programie włączam właściwości to nie pisze mi ścieżki i czy x32 / x64 bity

 

http://screenshooter.net/102671229/enejota

 

To w File > cos tam nic nie daje

Edytowane przez TheMadafaka

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Process explorer uruchomiony jako administrator?

Edytowane przez MitycznyJeż

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A no działa teraz :)

 

No i ten zły .dll to MSVCP120.DLL. Usunąć go i zainstalować Visual C++ 2013 86 czy 64 bitowy?

 

 

Pobrałem 86bitową.

I teraz błąd, że brakuje MSVCP120.DLL na komputerze. Chociaż jakiś postęp. Co teraz zrobić ?

Edytowane przez TheMadafaka

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Instalacja redistów dodaje ten plik do odpowiedniego katalogu - upewnij się że zgadzają się architektura programu oraz redisty które pobrałeś.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Siema.

W końcu coś co może pozwoli mi naprawić ten błąd, tylko potrzebuję małej pomocy.

 

Krótkie backstory: robiłem formata (Win10 na laptopach to zło), powróciłem do W7 x64 no i zaczęły się cyrki, najpierw brakujący plik .dll, którego pobrałem z jakiejś stronki, potem ten błąd. Próbowałem chyba wszystkich sposobów znalezionych na necie (poza tym oczywiście), więc chyba trochę namieszałem :) i teraz pytanie czy jest sens to naprawiać wszystko (i jak?), czy lepiej walnąć nowego formata (jutro bym miał na to czas) i mieć z głowy?

 

Lista rzeczy które zrobiłem (po angielsku bo wysyłałem do supportu z nadzieją, że oni coś pomogą):

- updating my Windows

- updating my drivers for graphic cards and chipset

- updating DirectX

- repairing the game

- reinstalling the game again

- reinstalling Microsoft Visual C++ 2005, 2008, 2012 and 2013 in both, 32 and 64-bit versions

- updating .NET Framework

- updating AdobeAIR

- launching the game as an Administrator

- launching the game in compatibility mode with Windows XP

- updating all the .dlls I found might cause the problem, in both System32 and SysWOW64 folders, those include:

mfc100.dll, mfc100u.dll, msvcr100.dll, msvcp100.dll and msvcr100_clr0400.dll in System32 and xinput1_1.dll, xinput1_2.dll, xinput1_3.dll, xinput1_4.dll, xinput9_1_0.dll in SysWOW64

 

A tutaj screeny z Dependency Walkera:

http://imgur.com/a/ErTsu

troszkę się tego nazbierało :)

Wysyłam ci PM, bo chciałbym naprawić to jak najszybciej (dzisiaj wieczorem/jutro popołudniu)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jest sens. Jeżeli nawrzucałeś dużo dll'ek do folderów systemowych, to możliwe że będziesz musiał procedurę powtarzać dla kilku gier.

Użyj właściwej wersji dependency walkera ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

mam x64

 

/edit: dobra nvm, nie zauważyłem, że to ma dotyczyć programu, a nie systemu. Tu jest tylko 1 .dllka, zaraz spróbuję, dzięki! :)

 

/edit2: możesz poprawić linka do directów, bo przekierowuje na stronę pobierania Win10

https://support.microsoft.com/pl-pl/kb/179113

 

/edit3: strona Windowsa cały czas przekierowuje do pobierania W10... pobrałem Dx9 z dobrychprogramów i DZIAŁA! Dzięki wielkie! :D

Edytowane przez Shorea

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jest sens. Jeżeli nawrzucałeś dużo dll'ek do folderów systemowych, to możliwe że będziesz musiał procedurę powtarzać dla kilku gier.

Użyj właściwej wersji dependency walkera ;)

 

@MitycznyJeż Ja mam taki problem że zrobiłem wszystko do etapu 3, pobrałem już paczke w dobrej architekturze (visual c++ redist 2010 bo potrzebuje Msvcp100.dll do system32) ale po odpaleniu instalacji tej paczki wyskakuje mi problem: "A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine." Nie wiem co dalej robić, stanąłem na tym ostatnim etapie :/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@MitycznyJeż Gdy wchodze w edytor rejestru i jestem przy kluczu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio w logach pisze że mam wejść do 10.0 a tam mam tylko 12.0 oraz 14.0. Z tym mam teraz problem :/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Instalujesz paczkę x86 - rejestr dla aplikacji 32bitowych na 64bitowym systemie jest w HKLM\SOFTWARE\Wow6432Node\...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Teraz da sie zainstalować ale podczas istalacji wyskakuje niepowodzenie ponieważ: "błąd krytyczny podczas instalacji"

W logach pisze błąd nr. (0x80070643), szukałem w internecie i pisze aby włączyć zaporę i mam włączony windows defender na win10.

Spróbuje poradzić sobie z pomocą tego filmiku, dam znać jak poszło.

edit. nie działa :/

Edytowane przez Mefyu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Spróbuj znaleźć log

Microsoft Visual C++ 2010 x86 Redistributable Setup_20151227_214950116-MSI_vc_red.msi.txt

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@MitycznyJeż

Dobra zainstalowałem już wersje vc 2010 x86 i 64 ale gra dalej nie działa

Edytowane przez Mefyu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...