msvcr120.dll – что это за ошибка как исправить в Windows 7 и 10: 100% решение

Всем привет! Сегодня при запуске программы вылезла ошибка с текстом:

Запуск программы невозможен, так как на компьютере отсутствует msvcr120.dll

Ошибка вылезает из-за того, что в вашей системе отсутствует библиотека msvcr120.dll, она повреждена или программа не может до нее добраться. Она используется для работы некоторых программ и игр, которые были собраны с помощью Microsoft Visual C++ для Visual Studio 2013. У меня проблема возникла в игре Ведьмак. Далее я расскажу – как исправить ошибку msvcr120.dll. Если у вас после прочтения статьи возникнут какие-то вопросы, то пишите о них в комментариях.

Сразу скажу главное: правильный способ – установить официальный пакет Microsoft Visual C++ Redistributable, а не скачивать один отдельный DLL-файл с непонятного сайта. Библиотека msvcr120.dll идет не сама по себе, а в составе набора системных компонентов. Когда вы ставите весь пакет, Windows получает не только один файл, но и связанные библиотеки, записи установщика и корректную привязку для разных программ. Поэтому ручное копирование DLL в системные папки я оставлю ниже только как нежелательный крайний вариант и объясню, почему лучше так не делать.

ПРИМЕЧАНИЕ! Ошибка может выглядеть немного по-разному: «отсутствует msvcr120.dll», «msvcr120.dll не найден», «код не может продолжить выполнение, поскольку система не обнаружила msvcr120.dll». Смысл один и тот же – программе не хватает компонента Visual C++ 2013.

Скачиваем пакет

  1. Заходим на официальную страницу Microsoft. Если ссылка не работает – сообщите об этом в комментариях.
  2. Выставите язык и после этого нажмите на красную как борщ кнопку справа.

msvcr120.dll - что это за ошибка как исправить в Windows 7 и 10: 100% решение

  1. На странице загрузки обычно есть несколько файлов. Для обычного компьютера с Windows нам нужны vcredist_x86.exe и vcredist_x64.exe. Файл vcredist_arm.exe для большинства домашних ПК и ноутбуков выбирать не нужно.

msvcr120.dll - что это за ошибка как исправить в Windows 7 и 10: 100% решение

  1. Выбираем, куда скачать файлы, а после скачивания открываем их по очереди. Сначала можно установить vcredist_x86.exe, потом vcredist_x64.exe.

msvcr120.dll - что это за ошибка как исправить в Windows 7 и 10: 100% решение

  1. Выделяем галочку, что вы принимаете условия лицензии, и кликаем «Установить».

msvcr120.dll - что это за ошибка как исправить в Windows 7 и 10: 100% решение

ВАЖНО! Если у вас 64-битная Windows, я советую установить оба пакета – и x86, и x64. Это нормально. 64-битная Windows может запускать и 64-битные, и 32-битные программы, а старые игры часто как раз 32-битные. Если не знаете разрядность системы, посмотрите отдельную инструкцию как узнать разрядность Windows.

После установки перезагрузите компьютер и снова запустите игру или программу. Иногда перезагрузка не требуется, но я все равно советую ее сделать. Так система точно перечитает установленные компоненты, а программа запустится уже после обновления окружения. Если ошибка была только из-за отсутствующего Visual C++ 2013, на этом все должно заработать.

Ошибка все равно появилась

После установки проблема должна решиться. Но бывает, что ошибка msvcr120.dll возникает вновь, тогда сделайте вот что:

  1. Снова зайдите на официальный сайт Microsoft и отдельно скачайте vcredist_x86.exe. Установите его от имени администратора.

ВНИМАНИЕ! Файл vcredist_arm.exe обычному пользователю Windows на компьютере или ноутбуке выделять не надо. Если у вас не редкое ARM-устройство, этот файл вам не поможет.

  1. После этого опять зайдите на официальный сайт, скачайте и установите уже vcredist_x64.exe.
  2. Если установщик пишет, что пакет уже установлен, выберите «Исправить» или «Repair», если такой пункт есть.
  3. В самом конце перезагружаем компьютер.

Почему иногда не помогает обычная установка? По идее нужно установить пакет под ту разрядность, под которую написана сама программа. Проблема в том, что пользователь обычно не знает, 32-битная игра перед ним или 64-битная. Поэтому на 64-битной Windows лучше ставить оба варианта Visual C++ 2013 – x86 и x64. Например, у вас может быть современная 64-битная система, но старая игра внутри все равно будет 32-битной и попросит именно 32-битную библиотеку msvcr120.dll.

Проверить установленные пакеты можно через Windows. В Windows 10 и Windows 11 откройте «Пуск» – «Параметры» – «Приложения» – «Установленные приложения» и в поиске введите «Visual C++ 2013». В старых версиях Windows можно открыть «Панель управления» – «Программы и компоненты». В списке должны быть записи Microsoft Visual C++ 2013 Redistributable x86 и x64, если у вас 64-битная система. Если один из пакетов отсутствует, установите его вручную.

Если установщик Visual C++ выдает ошибку, не закрывайте ее сразу, а посмотрите код. Например, ошибка может появиться, если уже стоит другая версия пакета, поврежден старый установщик или заблокированы права администратора. В таком случае попробуйте удалить старые записи Microsoft Visual C++ 2013 Redistributable через «Программы и компоненты», перезагрузить компьютер и поставить оба файла заново. Похожую проблему с установкой пакетов Visual C++ мы разбирали в статье про ошибку 0x80070666.

Переустановите программу или игру

Если Visual C++ установлен, а ошибка все равно остается, попробуйте переустановить саму программу или игру. Иногда при первой установке рядом с игрой должен был поставиться нужный компонент, но установщик был закрыт, заблокирован антивирусом или запущен без прав администратора. Удалите программу обычным способом, перезагрузите компьютер и установите ее заново. Если в папке с установщиком есть отдельная папка вроде Redist, _CommonRedist, VCRedist или Support, загляните туда – часто нужные пакеты Visual C++ лежат прямо внутри.

Для игр из Steam, Epic Games, GOG и похожих лаунчеров есть еще один полезный шаг – проверка файлов. В Steam нажмите правой кнопкой по игре – «Свойства» – «Установленные файлы» – «Проверить целостность файлов игры». В Epic Games нажмите на три точки рядом с игрой и выберите проверку или управление файлами. Это помогает, если сама игра была скачана не полностью или часть файлов повредилась после сбоя.

Если ошибка появилась после переноса игры с другого диска или чужого компьютера, переустановка особенно желательна. Простое копирование папки не всегда переносит все нужные компоненты. Игра может лежать на месте, но Windows не будет знать, какие библиотеки и зависимости ей нужны.

Не помогло

Раньше часто советовали скачать файл библиотеки отдельно и закинуть его в системный раздел или в папку с игрой. Иногда это действительно могло случайно помочь, но на сегодня я не советую начинать с этого способа. Во-первых, на сторонних сайтах под видом DLL легко получить зараженный файл. Во-вторых, одна библиотека не всегда решает проблему, потому что программе могут понадобиться и другие компоненты из того же пакета. В-третьих, можно положить 32-битный файл не в ту папку и только сильнее запутаться.

НЕ РЕКОМЕНДУЮ! Не скачивайте msvcr120.dll с сайтов с отдельными DLL-файлами. В старых инструкциях можно встретить ссылки вроде этой, но безопаснее и правильнее ставить библиотеку через официальный Microsoft Visual C++ Redistributable. Отдельный DLL из неизвестного источника может быть вредоносным или просто не подойти вашей системе.

Если вы уже скачали msvcr120.dll отдельно, я бы удалил этот файл, особенно если он был взят с непонятного сайта. После этого установите официальные пакеты x86 и x64, как описано выше. Если ошибка возникает только у одной конкретной игры, переустановите ее или проверьте файлы через лаунчер. Если ошибка появляется у разных программ, проблема почти наверняка не в самой игре, а в пакетах Visual C++ или в повреждении системы.

Отдельно поправлю важный момент про папки Windows. На 64-битной Windows обычно есть обе папки:

C:\Windows\System32

и

C:\Windows\SysWOW64

Несмотря на название, System32 хранит 64-битные системные библиотеки, а SysWOW64 – 32-битные. Это выглядит нелогично, но так устроена Windows. Поэтому совет «найдите любую из двух папок и киньте файл туда» неправильный. Лучше вообще не копировать msvcr120.dll руками в системные папки, а установить официальный пакет, который сам положит нужные файлы куда надо.

Также не нужно регистрировать msvcr120.dll командой regsvr32. Эта команда подходит для регистрации некоторых COM-библиотек, но msvcr120.dll к ним обычно не относится. В лучшем случае вы увидите ошибку регистрации, в худшем – потратите время и начнете исправлять несуществующую проблему. Для этой ошибки нормальный путь другой: официальный Visual C++ 2013 Redistributable, установка обеих разрядностей, перезагрузка и проверка самой программы.

Проверка системных файлов

Если проблема остается, можно попробовать запустить утилиту, которая проверит системные файлы на целостность. Она запускается в командной строке с правами администратора. В консоли нужно прописать команду:

sfc /scannow

Открыть командную строку можно так: нажмите «Пуск», введите «cmd», нажмите правой кнопкой по «Командная строка» и выберите «Запуск от имени администратора». В Windows 11 можно также нажать правой кнопкой по кнопке «Пуск» и открыть «Терминал (Администратор)». После запуска команды дождитесь окончания проверки и не закрывайте окно. Если система найдет поврежденные файлы и восстановит их, перезагрузите компьютер и снова проверьте программу.

Если SFC пишет, что не смог восстановить часть файлов, сначала выполните команду DISM:

DISM /Online /Cleanup-Image /RestoreHealth

После ее завершения снова запустите:

sfc /scannow

Более подробно этот инструмент я уже разбирал в отдельной инструкции про проверку системных файлов через sfc /scannow. Если же ошибка связана с хранилищем компонентов Windows, дополнительно может помочь материал про команду DISM RestoreHealth.

SFC и DISM не заменяют установку Visual C++ Redistributable. Эти команды стоит запускать тогда, когда пакет уже установлен, программа переустановлена, а ошибка все равно продолжает появляться. Если msvcr120.dll просто отсутствует из-за неустановленного Visual C++, проверка системных файлов может ничего не исправить.

Проверьте антивирус и карантин

Еще одна редкая, но реальная причина – антивирус мог удалить или заблокировать файл игры, посчитав его подозрительным. Это особенно часто бывает с модами, старыми играми, репаками и неофициальными патчами. Откройте журнал защиты Windows или ваш сторонний антивирус и посмотрите, не попадали ли туда файлы из папки игры. Если антивирус удалил не msvcr120.dll, а основной EXE-файл или библиотеку игры, ошибка может быть совсем не в Visual C++.

В «Безопасности Windows» путь такой: «Пуск» – «Параметры» – «Конфиденциальность и безопасность» – «Безопасность Windows» – «Защита от вирусов и угроз» – «Журнал защиты». Если файл был заблокирован, не спешите сразу восстанавливать его. Сначала убедитесь, что игра или программа скачана из нормального источника. Если источник сомнительный, лучше удалить установщик и скачать программу заново с официального сайта.

Частые вопросы

Можно ли просто скачать msvcr120.dll и положить его в папку с игрой?

Я не советую так делать. Иногда копирование в папку с игрой помогает, но это обходной и не самый безопасный вариант. Правильнее поставить Microsoft Visual C++ Redistributable для Visual Studio 2013 с официального сайта Microsoft. Так вы исправляете не один файл, а всю зависимость, которая нужна программе.

 

Нужно ставить x86 или x64?

Если у вас 64-битная Windows, ставьте оба пакета – x86 и x64. Это не ошибка и не дублирование. Старые 32-битные игры используют x86-компоненты даже на 64-битной системе. Если у вас 32-битная Windows, ставьте только x86, потому что x64 там просто не подойдет.

 

Поможет ли новый Visual C++ 2015-2022 вместо Visual C++ 2013?

Не всегда. У разных версий Visual C++ разные библиотеки. Файл msvcr120.dll относится именно к пакету Visual C++ 2013, поэтому установка только более нового пакета может не закрыть эту ошибку. Новые пакеты тоже полезны для других игр и программ, но в данном случае нужен именно компонент для Visual Studio 2013.

 

Что делать, если появилась похожая ошибка msvcp120.dll?

Действия почти такие же. msvcp120.dll относится к тому же набору Microsoft Visual C++ 2013, поэтому сначала ставим официальные пакеты x86 и x64, перезагружаем компьютер и проверяем программу. Если ошибка уже про msvcp140.dll, vcruntime140.dll или vcruntime140_1.dll, там может понадобиться другой пакет Visual C++. Например, похожую проблему мы разбирали в статье про ошибку msvcp140.dll.

 

Почему ошибка появляется только в одной игре?

Потому что не все программы используют одну и ту же версию Visual C++. Одна игра может запускаться без проблем, потому что ей хватает уже установленных библиотек, а другая требует именно msvcr120.dll. В такой ситуации проблема не обязательно в Windows целиком. Чаще всего достаточно поставить нужный Redistributable и проверить файлы конкретной игры.

 

Нужно ли удалять все Microsoft Visual C++ с компьютера?

Обычно нет. На компьютере может быть много пакетов Visual C++ разных версий, и это нормально. Каждая программа может требовать свою версию. Удалять все подряд я бы не стал, потому что после этого могут перестать запускаться другие игры и приложения. Если ошибка только с msvcr120.dll, начните с восстановления или переустановки Visual C++ 2013.

Автор статьи
Бородач 2890 статей
Сенсей по решению проблем с WiFiем. Обладатель оленьего свитера, колчана витой пары и харизматичной бороды. Любитель душевных посиделок за танками.
WiFiGid
Комментарии: 3
  1. Михаил

    Все гуд, спасибо :idea:

  2. Женя

    Обновление помогло, раньше думал у них библиотеки одинаковые у всех версий

  3. Аноним

    Пришлось для двух версий скачивать, а так все нормально. заработало

Добавить комментарий
После отправки комментарий может не отображаться - это нормально. Сразу же после модерации он будет опубликован. Если Вы хотите быстро узнать о получении ответа, рекомендуем оставить свой e-mail (это необязательно). E-mail используется исключительно для Вашего оповещения, мы не занимаемся спамом.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.