Rozwiązywanie problemów z plikami MSVCR100.dll i MSVCP110.dll: Przewodnik po typowych błędach i ich naprawie

Komunikat o braku MSVCR100.dll albo MSVCP110.dll nie jest instrukcją, by pobrać wskazany plik z pierwszej strony znalezionej w Google. To objaw braku właściwego środowiska uruchomieniowego Microsoft Visual C++, uszkodzenia istniejącego pakietu lub niekompletnej instalacji programu. Wklejenie przypadkowej biblioteki do katalogu System32 potrafi uciszyć jeden komunikat, ale zaraz wywołać następny — o złej wersji pliku, niezgodnej architekturze albo braku kolejnego składnika.

Najczęściej naprawa sprowadza się do zainstalowania odpowiedniego, oficjalnego pakietu Microsoft Visual C++ Redistributable. Trzeba jednak dobrać właściwy rocznik oraz architekturę. Nowszy pakiet nie zawsze zastępuje starszy, a 64-bitowy Windows nadal może potrzebować bibliotek x86.

Najpierw ustal, którego pakietu Visual C++ brakuje

Nazwy plików DLL wskazują wersję narzędzi, za pomocą których zbudowano aplikację:

  • MSVCR100.dll należy do środowiska Microsoft Visual C++ 2010;
  • MSVCP110.dll należy do środowiska Microsoft Visual C++ 2012;
  • oznaczenie „CR” odnosi się do biblioteki C Runtime, natomiast „CP” do standardowej biblioteki C++;
  • numer 100 odpowiada Visual Studio 2010, a numer 110 — Visual Studio 2012.

W praktyce oznacza to, że instalowanie wyłącznie najnowszego pakietu Visual C++ 2015–2022 nie rozwiąże problemu programu oczekującego pliku MSVCR100.dll. Starsze pakiety działają obok nowszych. Na sprawnym komputerze mogą być zainstalowane jednocześnie wersje 2008, 2010, 2012, 2013 oraz 2015–2022. Nie należy ich hurtowo usuwać tylko dlatego, że lista w sekcji „Zainstalowane aplikacje” wygląda na przeładowaną.

Drugim kryterium jest architektura aplikacji. Na 64-bitowym Windowsie:

  • program 64-bitowy korzysta z bibliotek x64;
  • program 32-bitowy korzysta z bibliotek x86;
  • starsza gra lub aplikacja może być 32-bitowa, mimo że działa na 64-bitowym systemie.

Dlatego na komputerze z Windows 10 lub Windows 11 w wersji 64-bitowej rozsądnie jest zainstalować oba warianty pakietu: x86 oraz x64. Sam plik vcredist_x64.exe nie pomoże programowi skompilowanemu jako aplikacja 32-bitowa.

Nie trzeba zgadywać architektury systemu. Można ją sprawdzić w:

Ustawienia → System → Informacje → Typ systemu

Trudniej szybko ustalić architekturę starego programu. Gdy producent jej nie podaje, instalacja obu wariantów jest bezpieczniejsza niż eksperymentowanie z pojedynczymi bibliotekami. Wyjątkiem jest 32-bitowy Windows — na nim instaluje się wyłącznie pakiet x86.

Znaczenie ma również skala problemu. Jeżeli komunikat pojawia się tylko po uruchomieniu jednej gry, programu księgowego lub narzędzia graficznego, winna jest zwykle jego instalacja albo konkretna zależność. Gdy podobne błędy zaczynają dotyczyć kilku niezależnych aplikacji, trzeba brać pod uwagę uszkodzenie pakietów systemowych, problem z dyskiem, działanie programu czyszczącego lub infekcję.

Naprawa krok po kroku bez pobierania pojedynczych DLL-i

Największy priorytet ma naprawa lub ponowna instalacja właściwego pakietu Visual C++. Nie zaczynaj od rejestru, przywracania systemu ani kopiowania plików do katalogów Windows.

Dla błędu MSVCR100.dll potrzebny jest Microsoft Visual C++ 2010 SP1 Redistributable. Dla błędu MSVCP110.dll należy zainstalować Visual C++ Redistributable for Visual Studio 2012 Update 4. Microsoft nadal udostępnia oficjalne instalatory tych pakietów, choć same środowiska 2010 i 2012 nie są już objęte standardowym wsparciem.

Najbezpieczniejsza procedura wygląda następująco:

  1. Zapisz dokładną nazwę brakującego pliku.
    MSVCR100.dll i MSVCP110.dll pochodzą z różnych pakietów. Instalowanie wszystkiego po kolei utrudnia później ocenę, co faktycznie usunęło błąd.
  2. Zamknij problematyczną aplikację i jej procesy.
    W razie potrzeby użyj Menedżera zadań. Uruchomiony program może nadal trzymać bibliotekę w pamięci.
  3. Otwórz listę zainstalowanych aplikacji.
    W Windows 11 wybierz:
    Ustawienia → Aplikacje → Zainstalowane aplikacje
    W starszych wersjach systemu można skorzystać z:
    Panel sterowania → Programy i funkcje
  4. Znajdź odpowiedni pakiet Microsoft Visual C++ Redistributable.
    Szukaj wpisów z rokiem 2010 lub 2012 oraz oznaczeniem x86 albo x64.
  5. Najpierw wybierz opcję naprawy.
    Jeśli instalator udostępnia przycisk „Repair” lub „Napraw”, użyj go przed odinstalowaniem. To mniej inwazyjne i zwykle trwa kilka minut.
  6. Gdy naprawa nie pomaga, odinstaluj tylko właściwy pakiet i zainstaluj go ponownie.
    Nie usuwaj wszystkich wersji Visual C++ naraz. Inne programy mogą przestać się uruchamiać, a odtworzenie całego zestawu zależności bywa bardziej uciążliwe niż pierwotny błąd.
  7. Na systemie 64-bitowym zainstaluj wersje x86 i x64.
    Kolejność nie ma zwykle znaczenia. Po każdej instalacji sprawdź, czy proces zakończył się bez błędu.
  8. Uruchom komputer ponownie.
    Restart usuwa z pamięci stare kopie bibliotek, kończy oczekujące operacje instalatora i pozwala systemowi poprawnie zarejestrować nowe składniki.
  9. Uruchom program normalnie, bez trybu administratora.
    Stałe uruchamianie jako administrator nie naprawia brakującej biblioteki. Może za to zamaskować problem z uprawnieniami i niepotrzebnie zwiększa zakres dostępu aplikacji.

Jeżeli błąd nadal występuje, przejdź do naprawy samego programu. W przypadku gier na Steamie, Epic Games Store lub GOG Galaxy zacznij od funkcji weryfikowania integralności plików. Platforma pobierze brakujące lub zmienione elementy bez usuwania całej gry.

Dla zwykłej aplikacji wykonaj czystą reinstalację:

  • odinstaluj program;
  • uruchom ponownie komputer;
  • sprawdź, czy w katalogu instalacyjnym nie pozostały uszkodzone pliki;
  • pobierz aktualny instalator ze strony producenta;
  • zainstaluj aplikację ponownie;
  • sprawdź historię ochrony programu Microsoft Defender, jeśli instalator nie skopiował wszystkich składników.

Nie pobieraj samego pliku MSVCR100.dll ani MSVCP110.dll z katalogów oferujących „darmowe DLL-e”. Nie da się łatwo zweryfikować pochodzenia takiego pliku, jego sumy kontrolnej ani tego, czy odpowiada wersji wymaganej przez aplikację. Dochodzi jeszcze ryzyko pomylenia x86 z x64. Typowy efekt to zamiana komunikatu „plik nie został znaleziony” na błąd 0xc000007b, informację o nieprawidłowym obrazie lub kolejną brakującą bibliotekę.

Co sprawdzić, gdy ponowna instalacja pakietu nie pomaga

Jeżeli właściwe wersje x86 i x64 zostały zainstalowane, komputer uruchomiono ponownie, a błąd wraca, nie ma sensu powtarzać tej samej operacji. Trzeba ustalić, czy problem dotyczy aplikacji, systemu, ochrony antywirusowej czy nośnika danych.

Pierwszy krok to sprawdzenie plików systemowych. Uruchom Terminal lub Wiersz polecenia jako administrator, a następnie wykonaj:

DISM.exe /Online /Cleanup-Image /RestoreHealth

Po zakończeniu działania DISM wpisz:

sfc /scannow

DISM należy uruchomić przed SFC, ponieważ naprawia magazyn składników używany później przez Kontroler plików systemowych. Nie zamykaj okna, dopóki skanowanie nie osiągnie 100%. Operacja może przez kilka minut wyglądać na zatrzymaną, szczególnie w okolicach określonego procentu.

Po zakończeniu sprawdź komunikat:

  • nie znaleziono naruszeń integralności — pliki systemowe są prawdopodobnie w porządku;
  • znaleziono i naprawiono uszkodzone pliki — uruchom komputer ponownie i sprawdź aplikację;
  • nie udało się naprawić części plików — problem wymaga dalszej diagnostyki obrazu Windows, aktualizacji systemu albo naprawy instalacji systemowej.

SFC nie naprawi jednak uszkodzonych plików znajdujących się wyłącznie w folderze konkretnego programu. W takiej sytuacji nadal potrzebna jest jego reinstalacja lub weryfikacja plików.

Kolejny etap to pełne skanowanie zabezpieczeń. Szczególnie podejrzana jest sytuacja, w której biblioteka po instalacji pojawia się, lecz po restarcie ponownie znika. Sprawdź historię ochrony Microsoft Defendera — legalny plik mógł zostać poddany kwarantannie, ale przyczyną może być również złośliwe oprogramowanie podmieniające lub usuwające biblioteki.

Jeżeli jednocześnie występują błędy instalatorów, losowe zawieszanie programów, problemy z rozpakowywaniem archiwów albo komunikaty o uszkodzonych plikach, sprawdź sprzęt:

  • odczytaj parametry SMART dysku za pomocą narzędzia producenta SSD lub HDD;
  • uruchom wbudowaną Diagnostykę pamięci systemu Windows;
  • sprawdź wolne miejsce na partycji systemowej;
  • cofnij podkręcanie procesora lub pamięci RAM, jeśli komputer pracuje z niestandardowymi ustawieniami.

Uszkodzona pamięć RAM potrafi powodować pozornie przypadkowe błędy DLL. Z kolei kończący się dysk może zapisywać niepełne instalatory lub uszkadzać już zainstalowane pliki. Dalsze przeinstalowywanie Visual C++ nie usunie takiej przyczyny.

Przywracanie systemu ma sens głównie wtedy, gdy można wskazać moment powstania problemu: instalację „optymalizatora”, nieudaną aktualizację sterownika, ręczne czyszczenie katalogów Windows albo usunięcie pakietów Visual C++. Nie jest dobrym pierwszym wyborem, gdy błąd dotyczy wyłącznie jednej aplikacji.

Najmniej użytecznym krokiem jest automatyczne czyszczenie rejestru. Narzędzia tego typu nie odtworzą brakującej biblioteki, a mogą usunąć wpisy wymagane przez starsze programy. Użycie „registry cleanera” przed naprawą pakietu Visual C++ zwykle dokłada nowy problem do już istniejącego.

FAQ: najczęstsze pytania

Czy można wkleić MSVCR100.dll lub MSVCP110.dll bezpośrednio do System32?
Technicznie plik można skopiować, ale nie jest to prawidłowa metoda naprawy. System32 zawiera 64-bitowe biblioteki 64-bitowego Windowsa, natomiast 32-bitowe składniki trafiają zwykle do SysWOW64. Pomylenie architektury może wywołać błąd 0xc000007b. Bezpieczniej zainstalować oficjalny pakiet Visual C++ Redistributable.

Czy Windows 64-bit wymaga pakietu x86?
Tak, gdy problematyczna aplikacja jest 32-bitowa. Dotyczy to wielu starszych gier, programów firmowych i narzędzi technicznych. Na 64-bitowym Windowsie często potrzebne są jednocześnie warianty x86 i x64.

Czy Visual C++ 2015–2022 zastępuje wersje 2010 i 2012?
Nie. Wspólny pakiet 2015–2022 obsługuje aplikacje zbudowane nowszym zestawem narzędzi, ale nie dostarcza bibliotek MSVCR100.dll ani MSVCP110.dll wymaganych przez programy z Visual Studio 2010 i 2012.

Czy należy usunąć wszystkie pakiety Microsoft Visual C++ przed reinstalacją?
Nie. To ryzykowna metoda, ponieważ różne aplikacje korzystają z różnych roczników i architektur. Napraw lub przeinstaluj wyłącznie pakiet odpowiadający nazwie brakującej biblioteki.

Dlaczego błąd pojawił się po ponownej instalacji Windowsa?
Czysta instalacja systemu nie zawiera wszystkich starszych środowisk Visual C++. Program, który wcześniej korzystał z pakietu doinstalowanego razem z inną aplikacją, po reinstalacji systemu może stracić tę zależność.

Czy brak biblioteki oznacza infekcję?
Nie najczęściej. Zwykle chodzi o brak pakietu lub uszkodzoną instalację. Skanowanie jest potrzebne, gdy pliki znikają ponownie, Defender zgłasza zagrożenia albo podobne błędy występują w wielu programach.

Kiedy potrzebna jest reinstalacja Windowsa?
Dopiero wtedy, gdy błędy dotyczą wielu aplikacji, DISM i SFC nie potrafią naprawić systemu, a diagnostyka dysku i pamięci nie wykazuje awarii. Przy jednym niedziałającym programie reinstalacja całego systemu jest nieproporcjonalna do problemu.

Zacznij od nazwy wskazanej w komunikacie. Dla MSVCR100.dll napraw lub zainstaluj Visual C++ 2010 SP1, a dla MSVCP110.dll — Visual C++ 2012 Update 4. Na 64-bitowym Windowsie użyj wersji x86 i x64, wykonaj restart i dopiero potem przeinstaluj aplikację. Polecenia DISM i SFC uruchamiaj wtedy, gdy poprawny pakiet nie wystarczył albo błędy pojawiają się w kilku programach. Pojedynczych bibliotek DLL z przypadkowych serwisów nie instaluj — to skrót, który zbyt często prowadzi do kolejnego komunikatu zamiast do działającego programu.

Leave a reply

Your email address will not be published. Required fields are marked *

Ciasteczka

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie plików Cookies. Więcej informacji znajdziesz w polityce prywatności.