Oprogramowanie

Brak pliku MSVCP71.dll lub MSVCR71.dll – nie można uruchomić programu

znak stop

Dzisiaj podczas próby uruchomienia pewnego programu wystąpił u mnie problem związany z brakiem wymaganych bibliotek, konkretnie brak MSVCR71.dll – z tego co widzę to dość pospolity problem, szczególnie na nowszych systemach 64 bitowych. W tym poradniku przedstawię skuteczną metodę jak poradzić sobie z tym. Przedstawię kilka wariantów naprawy, także jeśli jeden nie zadziała, drugi z pewnością rozwiąże Twój problem.

Jak już na wstępie wspomniałem, podczas próby uruchomienia programu (pliku wykonywalnego exe) może pojawić się komunikat o następującej treści…

Nie można uruchomić programu, ponieważ na komputerze nie znaleziono MSVCR71.dll. Spróbuj ponownie zainstalować program, aby naprawić ten problem.

Brak msvcr71.dll

Zwykle oznacza to, że w naszym systemie nie można odnaleźć wymaganego komponentu. W systemach 64 bitowych oprócz SysWOW64 są jeszcze dwa inne katalogi, które gromadzą wszelkie niezbędne biblioteki i komponenty uruchomieniowe. Należą do nich:

  • %systemroot% czyli inaczej C:\Windows
  • %systemroot%/system32 – C:\Windows\System32
  • %systemroot%/SysWOW64 – C:\Windows\SysWOW64

Kiedy uruchamiamy aplikację w pierwszej kolejności (chyba że programista inaczej określi zachowanie programu) szuka niezbędnych bibliotek DLL w swoim katalogu uruchomieniowym. Jeśli nie znajdzie, poszukiwania zostają przeniesione do trzech powyższych lokalizacji. Jeśli i tam program nie doszuka się biblioteki przywołuje komunikat o błędzie.

Zatem najprostszym rozwiązaniem jest zwyczajnie umieścić niezbędną bibliotekę w katalogu wraz z plikiem wykonywalnym (naszą aplikacją). Tylko w tym miejscu pojawia się pytanie, skąd mam wziąć tę bibliotekę?

Zarówno MSVCP71.dll jak i MSVCR71.dll możesz odnaleźć na swoim komputerze. Gdzie? Między innymi pakiet JRE – Java Runtime Environment zawiera wspomniane komponenty… musimy tylko przespacerować się do katalogu bin: C:\Program Files (x86)\Java\jre6\bin

Teraz wystarczy przekopiować plik do jednej z lokalizacji. Jeśli przekopiujemy go do katalogu System32 (32-bit) bądź SysWOW64 (64-bit) biblioteka będzie dostępna dla wszystkich programów.

Tak na marginesie – do wyszukiwania plików i folderów w systemie Windows polecam darmową wersję programu FileLocator Lite (dawniej AgentRansack). Dzięki niej szybko odszukasz dowolny plik.

Wracając do tematu przewodniego. Samo przekopiowanie to nie wszystko! Należy jeszcze zarejestrować bibliotekę. Wykonujemy kolejno: Start => Uruchom (lub WIN + R) i wpisujemy polecenie…

Regsvr32 msvcp71.dll

Ewentualnie z podaniem ścieżki…

Dla 32-bit - Regsvr32 "C:\Windows\System32\msvcr71.dll"

Dla 64-bit - Regsvr32 "C:\Windows\SysWOW64\msvcr71.dll"

Powinniśmy otrzymać komunikat np. Moduł C:\Windows\SysWOW64\msvcr71.dll został załadowany.

Podobnie należy postąpić z biblioteką msvcp71.dll kopiując ją do odpowiedniego katalogu i rejestrując w systemie.

Co zrobić gdy nie mamy na dysku twardym wspomnianych bibliotek?

Biblioteki najlepiej pozyskać z zaufanych źródeł jak komputer brata, kolegi/koleżanki, bądź też zainstalować oprogramowanie, które ów biblioteki zawiera w sobie np. wspomniany JRE6 lub Microsoft Visual C++ .NET 2003. Ostatecznym wyjściem jest pobranie plików z Internetu, lecz tutaj należy bacznie uważać, aby nie pobrać niespodzianki – pliku wraz ze wstrzykniętym złośliwym kodem. W poszukiwaniu można odwiedzić serwisy takie jak dll-files.com – portal udostępniający biblioteki do wielu aplikacji.

O autorze

Mariusz Kołacz

Z zawodu mgr inż. informatyk, zwolennik nowoczesnych technologii i fan Nikoli Tesla. Prowadzi kilka blogów o tematyce technologicznej. Po godzinach lubi przeczytać dobrą książkę, pozwiedzać ciekawe miejsca w Polsce lub spędzić wolny czas na łonie natury.