Главная » Ошибки » Как исправить ошибку Microsoft Visual C++ Runtime Library

Как исправить ошибку Microsoft Visual C++ Runtime Library

В этой статье

Простые способы исправить ошибку Visual C++ Runtime Library

Сообщение об ошибке Microsoft Visual C++ Runtime Library

К сожалению, единого метода решения для ошибки «Microsoft Visual C++ Runtime Library» нет, так как причины могут быть разными: отсутствующие или поврежденные компоненты системы, влияние сторонних служб и программ, в некоторых случаях — ошибки в самой запускаемой программе (особенно если она была написана вами лично).

Язык программ, не поддерживающих Юникод и пути к папкам с программой

Этот способ решения часто оказывается результативным для пользователей с русскоязычными версиями Windows 10, 8.1 или Windows 7, при условии, что ошибка Microsoft Visual C++ Runtime Library вызывается какой-то сторонней программой, а не системными компонентами, такими как explorer.exe или SystemSettings.exe.

Попробуйте следующие два метода, чтобы исправить ошибку:

  1. Если запускаемая игра или программа (или её установщик) находится в папке, путь к которой содержит кириллицу (русские буквы), перенесите её в другое расположение или переименуйте папку, попробуйте запустить. Например, если ваше имя пользователя на русском языке, а файл запускается из папки «Загрузки», то полный путь к ней будет иметь видC:UsersИмя_пользователяDownloadsПапка_с_программойи это может послужить причиной ошибки.
  2. Зайдите в Панель управления (в Windows 10 панель управления можно открыть через поиск на панели задач) — Региональные стандарты, откройте вкладку «Дополнительно» и в разделе «Язык программ, не поддерживающих Юникод» нажмите «Изменить язык системы». Выберите «Английский (США)», примените настройки и перезагрузите компьютер, затем проверьте, решило ли это проблему. Изменение языка программ, не поддерживающих Юникод

Обратите внимание, что второй метод может решить проблему, но при этом сделать так, что программа или игра будет запускаться на английском языке — обычно в этом случае достаточно найти соответствующую настройку в самой программе, чтобы вернуть русский язык.

Распространяемые компоненты Visual C++ и .NET Framework

Следующее возможное решение — попробовать переустановить компоненты Microsoft Visual C++ Redistributable, а также установить компоненты .NET Framework 4.8 и предыдущих версий.

Здесь присутствует один нюанс: обычно мы не знаем, какие именно из многочисленных наборов распространяемых компонентов Microsoft Visual C++ послужил причиной проблемы, а потому я рекомендую следующих подход их переустановки:

  1. Зайти в Панель управления — Программы и компоненты и удалить все имеющиеся компоненты Visual C++ Redistributable (после этого часть программ могут перестать запускаться, но к последнему шагу это будет исправлено). Компоненты Visaul C++ в программах и компонентах
  2. Использовать неофициальный способ установки сразу всех (почти) компонентов Visual C++ Redistributable из инструкции Как скачать компоненты Microsoft Visual C++ Redistributable 2008-2019.
  3. Зайти на сайт Майкрософт https://support.microsoft.com/ru-ru/help/2977003/the-latest-supported-visual-c-downloads и скачать два файла в верхнем разделе (Visual Studio 2015, 2017 и 2019) — vc_redist.x86.exe и vc_redist.x64.exe (для 32-бит версий Windows — только x86), установить их.
  4. Перезагрузить компьютер.

Если указанные шаги не решили проблему, выполните следующие шаги:

  1. Установите Microsoft .NET Framework последней версии с официального сайта: https://go.microsoft.com/fwlink/?linkid=2088631
  2. Зайдите в панель управления — программы и компоненты — включение и отключение компонентов Windows (пункт слева) и посмотрите, включены ли компоненты .NET Framework предыдущих версий, если нет — включите их.

Примечание: в случае, если на вашем компьютере установлена Windows 7, 8 или 8.1 установите также «Обновление для универсальной среды выполнения C в Windows» для вашей версии ОС, официальный сайт — https://support.microsoft.com/ru-ru/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c

Драйверы видеокарты и DirectX

Этот метод может показаться странным для рассматриваемого сценария, но действительно иногда оказывается работоспособным и позволяет исправить ошибку. Особенно в случае, если у вас есть два видеоадаптера (дискретная и интегрированная видеокарты), а драйверами вы озаботились лишь для одной из них (дискретной). Если в диспетчере устройств в разделе «Видеоадаптеры» вы видите что-то наподобие «Базовый видеоадаптер Майкрософт», это означает, что драйверы для него не установлены.

  1. Скачайте и установите драйверы для интегрированного видео. Лучше всего для рассматриваемой ситуации — с сайта производителя ноутбука под вашу модель (драйвер может называться «VGA», «Intel HD Graphics» или как-то иначе, обычно определить его сравнительно не сложно) или сайта производителя материнской платы компьютера.
  2. Вручную скачайте и установите драйверы вашей дискретной видеокарты с официальных сайтов AMD или NVIDIA.
  3. На всякий случай установите полный набор библиотек DirectX (по умолчанию в системе есть лишь часть из них), сделать это можно, используя веб-установщик с официального сайта — https://www.microsoft.com/ru-ru/download/details.aspx?displaylang=ru&id=35

После установки драйверов, DirectX и перезагрузки компьютера, проверьте, была ли решена проблема.

8. Неверно выставленное время

Большинство приложений имеет ограниченное производителем время работы, поэтому неправильно выставленные часы могут послужить причиной сбоев и отказов в работе части программ. Рекомендуется выставить на устройстве актуальное время, перезагрузить его и запустить приложение заново.

2. Ошибка из-за некорректного имени учетной записи

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

  • «Панель управления».
  • «Учетные записи и Семейная безопасность».
  • «Учетные записи пользователей».
  • «Управление другой учетной записью».
  • В новой вкладке окна добавляем нового пользователя с именем на английском языке.
  • Перейти в новую учетную запись.
  • Запустить приложение.

Иногда помогает переименовать каталог с кириллицы на латынь. Например с C:Игры на C:Games

Распространяемый пакет Microsoft Visual C++ 2010 (x86)

Распространяемый пакет Microsoft Visual C++ 2010 (x64)

Распространяемые пакеты Visual C++ для Visual Studio 2013

Перед установкой смотрите требования к системе. Не забывайте про разрядность Windows. На 32-битную систему необходимо ставить пакет (x86), а на 64-разрядную систему (x64) .

3.Инсталляция, обновление игры или приложения.

Если вы установили новое приложение поверх старого, то зайдите в панель управления и выберите пункт «Установка и удаление программ» или «Программы и компоненты». Удалите старую версию приложения. Проверьте и переустановите необходимое приложение при запуске которого происходил сбой. Данный шаг избавит от головной боли, связанной с целостностью exe файлов и библиотек DLL.

4. Установить актуальную версию DirectX.

Скачать и установить актуальную свежую версию DirectX можно через центр обновления Windows

Произвести ручную установку последней версии DirectX можно, скачав веб установщик по прямой ссылке с сайта Microsoft https://www.microsoft.com/ru-ru/Download/confirmation.aspx?id=35

Бывает так , что игре или приложению для запуска требуется наоборот старая версия DirectX, например DirectX 9. Данный нюанс можно узнать в описании требований к системе самой игры или приложения. Если вы выяснили, что для запуска нужна старая версия DirectX, то необходимо воспользоваться средой выполнения DirectX для конечного пользователя. Данную среду можно загрузить с сайта Microsoft по прямой ссылке http://go.microsoft.com/fwlink/p/?LinkId=159853

5. Произвести полную проверку компьютера на вирусы.

Очень часто юзеры, пользователи и геймеры ставят на свой компьютер сомнительные, а главное бесплатные антивирусные программы и ошибочно полагают, что они спасут компьютер от вирусов. Коротко, у меня стоит антивирус — значит вирусов у меня нет. На данный момент даже самый современный антивирус не может с 100% гарантией избавить вас от вирусов и рекламного программного обеспечения. Рекламное ПО зачастую не считается вирусом, но если на компьютере установлено приложение AnyWhereAccess Setup Wizard,то оно доставит вам и вашему компьютеру массу проблем и кучу ошибок.

Поэтому советую вам проверить персональный компьютер несколькими антивирусами.

Оптимальным будет набор: Kaspersky Virus Removal Tool 2015 или Kaspersky Rescue Disk 10 . Dr.Web LiveDemo .Также с помощью утилиты Dr.Web CureIt!®. Желательно осуществлять запуск программ в режиме проверки во время загрузки.

Произведите дополнительную проверку бесплатными утилитами AVZи AdwCleaner.

6. Инсталляция, обновление программной платформы .NET Framework

.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой её является общеязыковая среда исполнения Common Language Runtime, которая подходит для разных языков программирования.

Прямая ссылка для скачивания с сайта Microsoft https://www.microsoft.com/ru-RU/download/details.aspx?id=17851

7. Инсталляция, обновление драйверов видеокарты.

На данном шаге всё просто. Используйте последнюю версию драйверов, которую выпустил производитель для вашего видео адаптера. Последние версии драйверов всегда можно найти на официальном сайте производителя.

Советую удалить полностью старую версию драйверов, т.к неизвестно, что с ними могло произойти за время использования. После удаления установите новые драйвера.

8. Используйте утилиту исправления ошибок Windows — Microsoft easy fix.

3. Переустановка приложения (игры, программы)

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

Переустановить игру, полностью удалив ее с компьютера, и еще лучше, если она будет скачана из другого источника, а после установлена заново. Алгоритм действий следующий:

  • Зайти в «Пуск».
  • «Панель управления».
  • «Программы и компоненты».
  • Найти и удалить проблемное приложение.
  • Скачать его из другого источника.
  • Установить.
  • Запустить.

Дополнительные методы решения проблемы

Если к текущему моменту проблема не была решена, можно попробовать следующие варианты, которые также могут помочь исправить ошибку Microsoft Visual C++ Runtime Library:

  • Удалить программы, установленные непосредственно перед появлением ошибки. По отзывам, причиной может быть самое разное стороннее ПО, среди примеров: Intel True Key, программы принтеров HP, антивирусы.
  • Использовать точки восстановления системы при их наличии.
  • Выполнить чистую загрузку (не путать с установкой) Windows. Если при чистой загрузке ошибка исчезает, то причина — какие-то программы в автозагрузке или сторонние службы. Можно включать их группами, пока не выявим, что именно вызывает ошибку. Как именно выполнить чистую загрузку описано в инструкции Чистая загрузка Windows.
  • Проверить и восстановить целостность системных файлов Windows.
  • Отдельная инструкция для этой же ошибки с кодом R6025 pure virtual function call

Ещё один вариант, для случая, когда ошибку вызывает какой-то системный процесс — создать нового пользователя Windows (лучше, если будет использовано имя на латинице), зайти в систему под ним и проверить, сохраняется ли ошибка у этого пользователя.

Здравствуйте, я ошибка 217 и я вам ничего не скажу

Вероятно многие встречались с таким вот «партизаном» при старте или завершении приложения:


Очень информативное сообщение, сразу понятна причина ошибки, место и способ ее решения.
Впрочем, если без шуток, что это вообще такое?
Конечно-же это исключение, но ни тип исключения, ни его описание нам не доступны — просто «Runtime error 217» и адрес, а дальше сами…

Если честно, раньше я как-то даже не задумывался по поводу данного исключения, т.к. в моих проектах оно явление редкое, пока однажды у целой череды пользователей не начала воспроизводится именно 217-я ошибка.
Впрочем, даже тогда я не пошел по правильному пути и просто добавил дополнительный уровень логирования в проект, по результатам которого достаточно оперативно нашел причину и исправил ее.
Но, по сути, я просто потратил свое время…

И тратил бы его в дальнейшем, если бы на днях со мной не связался Виктор Федоренков и не рассказал о своих мыслях по поводу ошибки за номером 217.

Теория и анализ проблемы

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

Для начала я немного освежил мои представления об ошибках в принципе, перечитав часть статьи «Обработка ошибок — глава 1.2.2» за авторством Александра Алексеева, откуда вынес информацию о том, что ошибка 217 будет отображена в том случае, если не инициализирован модуль SysUtils, причем это у Александра проиллюстрированно достаточно наглядно:



Открыть картинку в полный размер…

На основании данной картинки можно сделать грубый вывод: пока SysUtils жив — все исключения должны отображаться в нормальном виде, о чем идет отдельное упоминание:

Например, если вы видите сообщение о runtime-ошибке, то, судя по приведённой схеме, маловероятно, чтобы ошибка возникла в обработчиках событий на форме. Зато гораздо вероятнее, что она возникает, скажем, в какой-то секции finalization (которая выполняется после секции finalization модуля SysUtils) или в назначенной процедуре ExitProcessProc. Но, разумеется, причина ошибки может сидеть где угодно — в том числе и в упоминаемых обработчиках событий.

Ну что-ж давайте проверим, пишем код, в котором SysUtils должна быть финализирована позже модуля Unit1, в котором искусственно генерируем исключение:

Билдим, запускаем, закрываем форму и… Runtime error 217.

Утверждение о том, что 217 отображается после финализации SysUtils полностью верное, но давайте-ка посмотрим на сам код финализации:

Смотрите что происходит: в процедуре FinalizeUnits вызываются все финализирующие процедуры, адреса которых расположены в массиве InitContext.InitTable^.UnitInfo в том порядке, в котором происходила их инициализация, т.е. самые первые расположены в начале массива (а финализация идет с конца).
Где-то в самом низу расположен и SysUtils + System, ну а мы, с нашим модулем Unit1 где-то в самом верху.
Но вдруг происходит исключение в нашем модуле и «бабах», порядок катарсиса нарушен.

После «бабах» FinalizeUnits вызывается повторно, пропуская наш модуль, вызвавший исключение, вследствие чего разрушается SysUtils и разные, встречающиеся по пути, class destructor-ы, до кучи грохается System с менеджером памяти (сидящий одним из первых в начале списка), после чего идет контрольный выстрел в лоб — RAISE, вот тут-то мы и приплыли — здравствуй 217.

А что если произойдет исключение в секции инициализации любого модуля?

Делаем вывод: любое необработанное исключение в секциях инициализации или финализации будет приводить к потере описания исключения и приводить к ошибке 217.

На этом с теорией, думаю, закончим.
Имея на руках понимание о причине возникновения Runtime error 217, попробуем получить на руки более привычный нам вариант сообщения об исключении.

Отключаем финализацию модулей

В самом начале обсуждения Виктором был предложен достаточно эффективный способ обхода данной ошибки.

Его анализ заключался в следующем: общая инициализация обработчика исключений производится в процедуре InitExceptions модуля SysUtils, а финализация вызовом DoneExceptions.

Если каким либо образом отключить вызов DoneExceptions плюс не дать разрушиться менеджеру памяти, заблокировав вызов блока финализации System — на руки мы получим сообщение об исключении в приемлимом виде.

Как вариант решения был предложен следующий код, который нужно подключить к файлу проекта самым первым модулем (будет работать начиная с D2005 и выше):

Если честно — аплодировал стоя.
Вот он: хак в самом грязном виде как он есть — такие вещи могут делать только те, кто действительно понимает, чем это грозит
И данный модуль вывел работу нашего IT отдела примерно на три часа — это была жесткая дискуссия

Но, впрочем, давайте разберем логику работы данного кода:
Суть его проста, необходимо выйти на данные о загруженных модулях (включая BPL) в том виде, в котором их понимает Delphi приложение. Это было сделано посредством доступа к началу однонаправленного списка структур TLibModule. Первым элементом списка будет структура, описывающая текущий образ, откуда нам нужно всего-то и получить данные о структуре UnitInfo, которая содержит в себе данные как о количестве инициализированных модулей, так и об адресах их процедур инициализации и финализации в виде записи PackageUnitEntry.

Блокирование финализации модулей происходит посредством присвоения параметру FInit значения nil у каждой записи PackageUnitEntry.

При обниливании данного параметра FinalizeUnits не сможет произвести вызов обработчика и в итоге тот самый raise, о котором я писал выше, сможет достаточно корректно произвести отображение возникшего исключения.


Но вот дальше все сложнее.

Пытаемся причесать хорошую мысль

Идея здравая и причины понятны, но вот как-же так, ресурсы все-же не освобождены, FastMem перестанет нормально работать (она собирает утечки как раз при финализации), да и совместимости маловато, к примеру, как я и сказал выше, под Delphi 7 данный код вообще работать не сможет.

После первого часа обсуждений в IT отделе мы даже умудрились прийти и к такому выводу: «да и хрен с ними с SysUtils и System — что-то критичного они за собой не несут».
А потом, опять начали спорить — ну не устраивал нас этот подход, вроде все хорошо, но не аккуратненько как-то.

Рассматривались даже варианты прямого сплайсинга блоков финализации и до кучи деструктора Exception — но дополнительный хак, на уже существующий хак не устраивал вообще никого.

И тут, сидя в отладчике и прогоняя код по 70-му разу пришла мысля.
Дык эта… а как вообще выводится сообщение о произошедшем исключении?

А выводится оно посредством передачи управления на ExceptHandler, в коде которого нет ничего секретного.
А что мы делаем убирая финализацию модулей?
Правильно, заставляем вызваться его-же.

Попробуем-ка проэмулировать вызов ExceptHandler.
Пишем тестовый юнит и подключаем его к проекту самым первым:

Запускаем на выполнение и…



Получилось.

Встроившись в цикл финализации, мы отобразили произошедшее исключение и продолжили финализацию дальше вызовом Halt(1).

В итоге задача решена, грамотно и документировано, и совместимо с Delphi 7, но…

А не развить ли идею?

Есть такое понятие, как «наведенные ошибки», т.е. ошибки произошедшие из-за того что перед ними тоже произошла ошибка.

Ну к примеру, функция А, которая должна возвращать экземпляр некоего класса и функция Б, использующая этот экземпляр в работе. К примеру в функции А произошло необработанное исключение (например нет доступа к файлу) и она не создала класс, а потом где-то гораздо позже по коду приложения процедура Б выполняет обращение к этому экземпляру и в итоге происходит Access Violation.

Тоже самое может произойти и в процедурах инициализации/финализации, причем исключение, произошедшее в финализации скроет от нас саму причину.

Для демонстрации напишем вот такой код, в котором при инициализации приложения будет создаваться некий логер, в который будут писаться этапы работы приложения, а в финализации будет запись о завершении работы.
Для генерации исключения заставим логер создаваться по несуществующему пути:

Мало у кого в системе присутствует диск «А» поэтому результатом этого кода будет либо «Runtime error 216» (именно 216, а не 217), либо, если подключим код из предыдущей главы:

Exception EAccessViolation in module Project2.exe at 001B1593.
Access violation at address 005B1593 in module ‘Project2.exe’. Read of address 00000000.

А ведь причина то кроется в самом первом исключении, которое нами не отображается и с наскока разобраться в причине ошибки не получится.

Для того чтобы исправить эту несправедливость, можно немного причесать код и довести его до вот такого состояния:

Здесь идея проста, функция GetNextException по сути повторяет вызов AcquireExceptionObject, но после своего вызова не теряет ссылку на следующее в очереди исключение, а запоминает адрес следующего фрейма во внешней переменной.
После чего все исключения заносятся в список (самое последнее будет первым в списке) и выводятся программисту с соблюдением очередности, в результате чего нам будет сразу понятно, что сначала произошло вот это:


И уже только после него пошли всякие там AV.

Теперь по поводу остальных кодов ошибок.
Почему я начал именно с «Runtime error 217»?
Ну потому что она наиболее легко воспроизводима, а так технически, используя выше приведенный модуль, мы получим на руки вполне нормальное описание всех возможных Runtime ошибок, коих в наличии у нас вон сколько:

Вот таким небрежным кодом, мы можем получить то, о чем нам не хочет говорить ошибка под кодом 217.

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

А если нет — значит буду вторым.

Отдельный респект соавтору и вдохновителю данной статьи — Виктору Федоренкову.

Источник

Windows 10 russian cab Windows 10 run as different user

Популярные записи

Windows 7 задействовать dma 22 октября, 2020 Не удаляется winrar на windows 7 22 октября, 2020 Где хранится история internet explorer в windows 7 19 октября, 2020 Canon i sensys mf3010 драйвер windows 7 x64 19 октября, 2020 Windows 7 the volume is clean 22 октября, 2020 Страница активации windows 7 23 октября, 2020

  • Обо мне

    Здравствуй, приятель! Это мой интернет-журнал, тебе здесь всегда рады!

    Давай знакомиться! Меня зовут Сергей Лавреньев. Я создал и наполняю материалом этот ресурс. Тут найдется информация для каждого. Большой спектр тем, иногда поучительно, иногда развлекательно, иногда шокирует, но неизбежно интересно.

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

    На обратной связи с читателями и сторится мой интернет-журнал.

    А дальше я предлагаю вам откинуться на спинку, заварить чай и быть готовым к положительным эмоциям!

  • Новое на сайте

    • Ярлык на рабочий стол linux
      Ярлык на рабочий стол linux

Ярлык на рабочий стол linux

Как добавить ярлыки приложений на рабочий стол …

  • Яндекс строка для linux
    Яндекс строка для linux
  • Яндекс строка для linux

    Программы для Linux от Яндекс Сегодня я …

  • Яндекс программы для linux
    Яндекс программы для linux
  • Яндекс программы для linux

    Консольный клиент Яндекс.Диска для Linux Консольный клиент …

  • Яндекс навигатор для linux
    Яндекс навигатор для linux
  • Яндекс навигатор для linux

    Пингвин в бардачке. Собираем полноценный автомобильный компьютер …

  • Яндекс диск монтирование linux
    Яндекс диск монтирование linux
  • Способ №2. DirectX

    Вполне вероятно, что ее появление вызывают какие-то проблемы с DirectX. Возможно, какие-то файлы исполняемых библиотек были повреждены или же существующие библиотеки банально устарели.

    В любом случае, лучше всего просто установить наиболее актуальные варианты и, опять же, перезагрузить компьютер.

    Для этого зайдите на сайт Microsoft, на страницу с возможностью скачать DirectX. Запустите скачанный файл и выполните все действия, подразумевающие установку исполняемых библиотек.

    Здесь нет никаких особых рекомендаций – обычная.

    Страница загрузки DirectX

    Если после установки и перезагрузки компьютера ошибка не исчезла, идем дальше.

    7. Драйвера на видеокарту

    Устаревшая версия драйвера на видеокарту или ошибки, которые иногда возникают в работе драйверов, могут приводить к последствиям в виде ошибок. Рекомендуется удалить драйвера через «Программы и компоненты» и повторно скачать, установить свежую версию с сайта производителя видеокарты. Далее, выполнить перезагрузку и запуск приложения, с которым связаны проблемы.

    Решение ошибки «Runtime error»

    Решение №1 Ликвидация кириллицы

    Ошибка «Runtime error» может возникать при запуске тех программ и игр, в расположении которых присутствуют кириллические символы. Например, на данную ошибку можно наткнуться, если запускаемое приложение находится по пути C:Users[ИМЯ АККАУНТА НА РУССКОМ]Downloads[КОРНЕВАЯ ПАПКА ПРИЛОЖЕНИЯ]. Избавьтесь от русского языка по пути к приложению и попробуйте запустить его еще раз.

    Решение №2 Изменение языка программ, не поддерживающих Юникод

    Появление ошибки «Runtime error» возможно в том случае, если в параметрах региональных стандартов для приложений, не поддерживающих Юникод, задан русский, а не английский язык.

    • Нажмите WIN+R и выполните значение «CONTROL»;
    • кликните на пункт «Изменение форматов даты, времени и чисел» в разделе «Часы и регион»;
    • перейдите во вкладку «Дополнительно» в появившемся окошке «Регион»;
    • нажмите на кнопку «Изменить язык системы…»;
    • в ниспадающем меню выберите «Английский (США)» и сохраните внесенные изменения;
    • перезагрузите ПК.

    Запустите проблемное приложение, чтобы проверить наличие ошибки.

    Решение №3 Переустановка Visual Studio C++ и .NET Framework

    Некорректно установленные (либо отсутствующие в системе) распространяемые библиотеки Microsoft Visual Studio C++ и .NET Framework могут вызвать появление «Runtime error». Чтобы переустановить эти библиотеки, вам нужно сделать следующее:

    • вызовите перед собой Панель управления, как это было показано выше;
    • кликните на «Удаление программы» в разделе «Программы»;
    • найдите в списке программ все версии Visual Studio C++ и удалите их;
    • перейдите на официальный сайт Майкрософт и загрузите необходимые установщики VS C++;
    • проделайте тоже самое с различными версиями .NET Framework на своем ПК;
    • вернитесь к окошку «Программы и компоненты» и кликните на пункт «Включение или отключение компонентов Windows»;
    • убедитесь, что возле всех версий .NET Framework стоят галочки;
    • закройте все открытые окна и перезагрузите ПК.

    Решение №4 Удаление недавно установленных программ

    Определенные программы могут входить в конфликты с приложениями на компьютере. Ошибка «Runtime error» начала появляться практически сразу после установки какой-то программы или игры? Удалите ее, перезагрузите ПК и попробуйте запустить нужное вам приложение еще раз. Возможно, на сей раз никакой ошибки не появится. Заняться удалением программ можно в «Программы и компоненты» (показано выше ↑).

    5. Переустановка net. Framework

    Он также исполняет особую роль при запуске, поэтому проделаем те же действия, что и с Visual C++. Удалению, скачиванию и установке теперь подлежит net. Framework

    Способ №1. CCleaner

    Самое простое решение заключается в том, чтобы воспользоваться программой для чистки реестра. Как это работает?

    Все просто – чистильщик реестра, собственно, и предназначен для того, чтобы исправлять всевозможные проблемы, вроде той, которую рассматриваем мы, систематизировать файлы и добавлять то, чего недостает ему для нормальной работы.

    Лучшей по праву считается CCleaner, хотя вы можете воспользоваться и другой.

    Чтобы использовать ее, сделайте вот что:

    1. Скачайте (вот ссылка на бесплатную) и установите программу.
    2. Запустите. Перейдите на вкладку «Реестр» на панели слева.
    3. В разделе «Целостность» поставьте галочки на всех возможных пунктах – никто не знает, в чем именно проблема.
    4. Нажмите кнопку «Поиск проблем». Когда этот процесс закончится, нажмите кнопку «Исправить…».

    Использование

    1. Подождите, пока приложение исправит все проблемы. Перезагрузите компьютер.

    После этого runtime error должен перестать появляться. Если нет, переходим к следующему решению.

    1. Запуск от имени администратора и в режиме совместимости

    Если игра выпущена давно и не запускается, то рассматриваемая ошибка может свидетельствовать о несовместимости программных комплексов новой версии со старой версией. Поэтому запуск от лица администратора и в режиме совместимости может решить проблему быстро и безболезненно.

    Действия:

    1. Правой кнопкой мыши на ярлык с игрой.
    2. Кликнуть на строчку, показанную на скриншоте.
    3. Подтвердить действие.
    4. Дождаться запуска.

    Алгоритм:

    1. Правой кнопкой на ярлык приложения.
    2. Клик на строчку «Свойства».
    3. В окне выбрать раздел «Совместимость».
    4. Поставить галочку, как на картинке.
    5. В строке выбора ОС указать вашу текущую версию.
    6. Нажать «Применить» и «ОК».
    7. Запустить приложение.

    Способ №3. Visual C++

    О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.

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

    Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.

    Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.

    Таблица 1. Требуемые версии Visual C++ для Windows

    Операционная системаТребуемая Visual C++
    Windows XP и ниже C++2008
    Windows 7 C++2010
    Windows 8 и 10 Наиболее актуальная на данный момент

    Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3.

    Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.

    Скачивание происходит одинаково – выбираем язык распространяемого компонента и жмем кнопку «Скачать». После этого останется запустить загруженный файл.

    После этого перезагрузите компьютер.

    Страница загрузки Visual C++

    Источники

    • https://remontka.pro/fix-microsoft-visual-c-runtime-library-error/
    • http://dlltop.ru/error-0x/138-microsoft-visual-c-runtime-library
    • https://snapcomp.ru/problemy-s-kompyuterom/32-ispravlyaem-oshibku-microsoft-visual-c-runtime-libray-runtime-error
    • https://a174.ru/windows-10-runtime-error-217/
    • https://pomogaemkompu.temaretik.com/1702206922594454476/samye-legkie-sposoby-ispravit-oshibku-runtime-error/
    • https://GamesQa.ru/games/runtime-error-28564/
    [свернуть]
    Решите Вашу проблему!


    ×
    Adblock
    detector