2018 redistributable: Visual C++ Redistributable Runtimes All-in-One (Nov 2022) Download
Содержание
✅ [Решено] Ошибка при запуске приложения 0xc000007b
Полное руководство по Windows 10
Программы не всегда работают, как им положено – иногда возникает ошибка при запуске приложения 0xc000007b. В статье мы разберемся, по каким причинам она появляется и что можно сделать для исправления ситуации.
Почему возникает ошибка 0xc000007b?
Само по себе сообщение с ошибкой предоставляет минимум полезной информации. Обычно это окно-предупреждение с предложением завершить программу и единственной кнопкой «ОК».
Если же поискать сам номер, то выяснится, что ошибка 0xc000007b расшифровывается как INVALID_IMAGE_FORMAT.
Что такое ошибка 0xc000007b? Говоря простым языком – операционная система или программа испытывает сложности с открытием какого-то файла.
Причины этого могут быть самыми разными:
- Сбои в работе самой программы;
- Ошибки программистов;
- Неполадки в работе операционной системы;
- Неверная установка обновлений;
- Искаженные настройки системы/приложений;
- Сложности с драйверами;
- Воздействие вредоносного ПО;
- Влияние других приложений;
- Некорректное завершение работы софта или самой ОС;
- Несоответствие разрядности операционной системы;
- Использование взломанных программ или активаторов;
- Случайные или намеренные действия пользователя (вроде прямого удаления файлов из каталога программы) и так далее.
Кроме того, проблема может возникать на аппаратном уровне. Если жесткий диск неисправен, то не все файлы на нем могут быть доступны или же их содержимое может неверно считываться. Хотя такой сценарий маловероятен, поскольку в таком случае ошибка, скорее всего, указывала бы на трудности именно с операцией чтения.
Что делать, если пишет ошибка при запуске приложения 0xc0000007b?
Методы устранения зависят от конкретной причины. Если нет четкой связи с одной программой, стоит проверить и при необходимости восстановить саму систему или вспомогательный софт. К этой категории также относятся сбои с драйверами. Отличить их можно по тому, что ошибка приложения 0xc000007b возникает при запуске разных игр или требовательных к ресурсу видеокарты приложений.
Также ошибка может быть связана с конкретной программой. Если вылетает 0xc000007b при запуске приложения, то нужно исправлять именно его.
1. Переустановка драйверов для видеокарты
Самый популярный совет как исправить ошибку 0xc000007b подразумевает переустановку или обновление драйверов для видеоадаптера. Это типичное решение, если сообщение выскакивает при запуске новой игры. Дело в том, что программисты не всегда имеют возможность адаптировать софт для различного программного обеспечения. И если в системе установлена устаревшая версия драйвера, в нем могут отсутствовать важные графические функции. Тогда-то и будет появляться ошибка, ведь драйвер не может дать то, чего у него нет.
Для решения нужно скачать драйвера с сайта производителя видеокарты. Обычно это ATI или NVIDIA. Установка актуальной версии поможет 0xc000007b при запуске игры как исправить в настоящем, так и предотвратить в будущем (по крайней мере, пока не выйдет новая версия драйвера).
Чтобы не искать по сайтам, можно проверить наличие свежей версии в Центре обновления, который доступен в главном меню или через Панель управления.
2. Обновление .NET/DirectX/ Visual C++ Redistributable
Иногда за сбои ответственны вспомогательные программы. Например, в iTunes ошибка 0xc000007b может возникать из-за старой версии Microsoft Visual C++ Redistributable. Соответственно, для исправления нужно установить с сайта Microsoft свежую версию данного пакета. Заодно рекомендуется обновить DirectX и .NET Framework – они также могут быть причиной ошибки. Старую версию можно предварительно удалить через Панель управления.
3. Переустановка программы
Понятно, что делать если ошибка 0xc000007b возникает только в одной программе – переустановить её. Не исключено, что в процессе установки возникли сбои: не хватило места на диске или возникала иная проблема, а установщик не выдал предупреждения. Повторная установка вполне может вылечить проблему.
Частенько так грешат игры, установленные через Steam. В таком случае нужно сначала средствами самого Steam’а удалить приложение, а затем заново установить его.
4. Установка «лицензии»
Аварийное завершение может происходить и потому, что используется взломанная версия приложения. Пираты не всегда могут (даже если очень хотят) аккуратно отключить защитные системы, что вызывает зависания и появление ошибок. Аналогичным образом сбои могут появиться из-за программных «активаторов». Так что использование лицензионной версии может стать лучшим выходом.
Бывают и обратные ситуации, когда взломанный софт работает без ошибок. Однако это скорее курьезное исключение, надеяться на него не стоит.
То же самое верно и для ОС. Сборки Windows не всегда содержат все необходимые файлы. Лучше использовать оригинальные образы, чем кустарную версию ОС.
5. Изменение параметров запуска программы
Порой ошибка при запуске приложения 0xc000007b связана с недостаточными правами доступа. В таком случае может выручить запуск от имени администратора. Нужно кликнуть по иконке программы и выбрать соответствующий пункт меню. Следует согласиться с запуском, если система запросит подтверждение.
Если способ сработал, можно закрепить «лекарство». Правым кликом по иконке приложения откройте меню и свойства, затем во вкладке Дополнительно установите флаг для запуска под администратором.
Иногда ошибка при запуске 0xc000007b исчезает, если активировать режим совместимости. Он также доступен в свойствах файла.
6. Проверка антивирусом
Вирусы могут исказить или даже целиком заменить корректные файлы. Если такое происходит, то ранее работавшее приложение выдает ошибку 0xc000007b. Поэтому рекомендуется провести антивирусную проверку, как минимум для системного диска. И не забудьте предварительно обновить базы.
Для большей надежности дополнительно используйте антивирусные утилиты вроде CureIt от DrWeb или Live-Cd от Касперского. Они хорошо справляются с активным заражением, когда установленный антивирус может давать сбои.
7. Устранение ошибок в реестре/системных настройках
Бывает, что и при регулярно появляющемся коде 0xc000007b что делать непонятно. Например, если программы и драйвера обновлены, вирусов нет, а ошибка все равно остается. Тогда причина может крыться в ошибочных настройках ОС, в том числе в записанных в системном реестре параметрах.
Чтобы их скорректировать, можно воспользоваться программами вроде CCleaner. Они способны справляться с типовыми неполадками и довольно часто помогают устранить ошибку.
Оптимизация реестра не всегда спасает, а иногда только усугубляет ситуацию. Поэтому лучше подстраховаться созданием точки восстановления.
8. Устранение системных ошибок
Специалисты в поисках способа 0xc000007b как исправить рекомендуют также проверить компьютер на наличие системных ошибок. Для этого в Windows есть встроенный инструмент. Запустить его можно следующим способом.
В меню Пуск нужно ввести cmd в строке поиска, затем по найденному приложению кликнуть правой кнопкой и запустить его с правами администратора. Откроется текстовая консоль. В ней нужно написать sfc /scannow и затем нажать ввод.
Скорость проверки зависит от быстродействия компьютера.
9. Восстановление системы
Если предыдущий способ как исправить ошибку приложения 0xc000007b не помог, можно откатить всю ОС до рабочего состояния. Для этого используется служебное приложение Восстановление системы. Находится оно в подразделе служебных программ, которые расположены в Стандартных программах в меню Пуск (выберите сначала «Все программы»).
Само приложение очень простое – нужно лишь указать желаемую точку восстановления (то есть выбрать дату) и запустить процесс. Остальное ОС должна сделать сама.
Этот способ также применяется, если возникает 0xc000007b при запуске Windows. Только нужно предварительно загрузиться в безопасном режиме. Для этого при загрузке следует нажать F8 и выбрать соответствующий пункт из текстового меню.
Обратите внимание: при таком подходе будет восстановление состояние программ на выбранный момент. Установленные после этой даты приложения исчезнут.
Способ достаточно мощный, но требует наличия точек восстановления. Если их создание было отключено, применить его не получится.
10. Используйте утилиту CHKDSK
Утилита CHKDSK удобна для поиска и устранения проблем с жестким диском. Это инструмент командной строки, который можно использовать без дополнительного программного или аппаратного обеспечения. Найдите cmd в меню «Пуск» и щелкните правой кнопкой мыши «Командная строка». Выберите параметр «Запуск от имени администратора».
Введите приведенную ниже команду в окне командной строки и нажмите клавишу ВВОД.
chkdsk/f/r
Командная строка теперь может спросить вас, хотите ли вы сканировать свою систему при следующем перезапуске. Нажмите клавишу Y, чтобы принять это, и нажмите ENTER. Теперь ваш компьютер перезагрузится и начнет сканировать и устранять проблемы на жестком диске.
Как видите, способов восстановить работоспособность приложения при ошибке 0xc000007b достаточно много. Применяйте их, и пусть все программы работают правильно!
Читайте также:
- Оптимизация Windows 10: как ускорить работу компьютера
- 100+ советов, как ускорить работу ноутбука на Windows 10
- Как отключить антивирус Windows 10
Wix на пользователя для обнаружения распространяемого пакета Visual C++ 2015
Последние поддерживаемые загрузки Visual C++
Подходы к обнаружению среды выполнения
Я могу найти несколько способов обнаружения наличия среды выполнения Visual C++ .
Реестр
- Ключи, используемые программой установки VCRedist (см. раздел ниже)
- Ключи, упомянутые в моем первоначальном ответе — взяты из этого старого ответа
Проверка наличия и версии файла
- Проверка наличия основных файлов среды выполнения
- См. отдельный раздел ниже
API MSI
- Вы можете определить, установлен ли конкретный MSI, просмотрев GUID продукта
- Надежно, но трудно отслеживать все идентификаторы GUID продукта (разные версии)
- ОБНОВЛЕНИЕ : Вы также можете использовать код обновления, как описано ниже. Он должен оставаться стабильным между выпусками и обновлениями (для каждой основной версии и, возможно, между основными версиями).
Fall-Over EXE?
- Предложения использовать EXE в зависимости от среды выполнения
- Запуск и сбой означает, что среда выполнения отсутствует или повреждена
Хорошее и плохое — оценка : Вариант 1
кажется уязвимым, поскольку вариант развертывания среды выполнения с модулем слияния может не записывать эти ключи. Опция 3
может работать хорошо, но трудно отслеживать все идентификаторы GUID. Вариант 4
, по-видимому, уже дал сбой из-за того, что более новые среды выполнения удаляют определенные разделы реестра. Хотя сейчас это исправлено, это может появиться снова.
Наличие/проверка версии файла
Чем больше я смотрю на это, тем больше начинаю думать, что вы должны проверять сами файлы и, возможно, правильную версию файла. Файл vcruntime140.dll
в папке System32
(64-битная версия) и SysWOW64
(32-битная версия)? См. список файлов внизу здесь.
Просто добавил ссылку для сохранности.
- Как определить наличие распространяемого пакета Visual C++ 2012?
- Распространение файлов Visual C++
Тестовый VBScript — только для тестирования (скрипты иногда блокируются антивирусом):
Set fso = CreateObject("Scripting. FileSystemObject") MsgBox fso.GetFileVersion("C:\Windows\System32\vcruntime140.dll")
Вы можете определить наличие и версию файла, используя AppSearch в файле MSI.
Ниже приведены другие вещи, которые я написал, просто оставив его. который является рекомендуемым способом развертывания среды выполнения — проверяет следующий раздел реестра, чтобы определить, какие версии среды выполнения фактически установлены:
HKLM\SOFTWARE\Microsoft\VisualStudio\<версия>\VC\Runtimes\
Кажется, что все подразделы x86 и x64 содержат значение « Installed », для которого установлено значение 1 , когда среда выполнения установлена. Я бы предположил, не успев все это проверить, что вы можете проверить:
-
HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x64
Installed = 1
-
HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14. 0\VC\Runtimes\x86
Установлено = 1
Модуль слияния : после краткой проверки оказалось, что эти значения не записываются модулями слияния, которые также можно использовать для распространения этой среды выполнения. У меня нет ни времени, ни средств, чтобы проверить это должным образом сейчас.
Удивительно, но и версия 2015, и версия 2017 среды выполнения записывают в ключ 14.0, поскольку они бинарно совместимы. Если установлена версия 2017, исполняемый файл VCRedist вернет ошибку, поскольку установка не требуется. Действительно странно. Но для вашей цели это не имеет значения. Источник.
API MSI — получение кодов продуктов
- Почтовый ящик: как определить наличие распространяемого пакета среды выполнения VC 8.0
- Обновленные распространяемые пакеты среды выполнения VC 8.0 включены в Visual Studio 2005 SP1
- Как найти GUID продукта установленной установки MSI?
ОБНОВЛЕНИЕ :
installer. ProductState
— обычное установленное состояние5
:Я забыл о свойстве ProductState , когда писал ниже.
Вы можете проверить наличие установленного продукта с помощью двух строк кода, если вы
иметь актуальный код продукта:Dim installer: Set installer = CreateObject("WindowsInstaller.Installer") MsgBox installer.ProductState("{00000000-0000-0000-0000-000000000001}")
Вот еще один способ сделать это: MSDN: Как программно проверить наличие продукта на основе установщика Windows, используя его код продукта.
Совет : я бы не стал использовать этот подход, поскольку код продукта часто меняется при обновлении продуктов. Поэтому мне больше нравится
проверить наличие версий файлов ядра во время выполнения. Это кажется более
надежный на будущее (при правильном разборе версии
и надежно — не накатишь сам).
Макет :
Публичный установщик Set installer = CreateObject("WindowsInstaller. Installer") ' Нет GUID 2015 VC2015 = CheckForProductCode("{00000000-0000-0000-0000-000000000000}") VC2017 = CheckForProductCode("{C77195A4-CEB8-38EE-BDD6-C46CB459EF6E}") MsgBox "VC2015: " & CStr(VC2015) & vbCrLf & "VC2017: " & CStr(VC2017) Функция CheckForProductCode(код продукта) Чекфорпродукткод = ложь Для каждого продукта в installer.ProductsEx("", "", 7) Если(LCase(код продукта) = LCase(продукт.Код продукта)) Тогда CheckForProductCode = Истина Выход для Конец, если Следующий Конечная функция
Обновление на основе предложения Zett42 перечислить продукты, использующие один и тот же код обновления:
Set installer = CreateObject("WindowsInstaller.Installer") ' Перечислить все продукты, относящиеся к «Распространяемый пакет Microsoft Visual C++ 2008 — x86 9.0.30729.4148» ' {AA783A14-A7A3-3D33-95F0-9A351D530011} — это код обновления Установить обновления = installer.RelatedProducts("{AA783A14-A7A3-3D33-95F0-9A351D530011}") За каждое обновление u In MsgBox u, vbOKOnly, "Код продукта: " Следующий
Развертывание среды выполнения Visual Studio C++
Помимо обнаружения, существует несколько подходов к распространению среды выполнения Visual Studio C++:
- Статическое связывание
- Распространяемые пакеты Visual C++
или -
Program Files (x86)\Microsoft Visual Studio\2017\edition\VC\Redist\MSVC\lib-версия
- Распространяемые модули слияния (
файлы . msm
)- Недостаточно для некоторых целей ( Универсальный ЭЛТ ):
- Распространяемые файлы для развертывания исполняемого файла C++, разработанного с помощью Visual Studio 2015, в Windows 7
- Среда выполнения слияния WIX c++
- Недостаточно для некоторых целей ( Универсальный ЭЛТ ):
- Локальная папка приложений
- Скопировать библиотеки DLL в локальную папку приложения
- Не рекомендуется по причинам обслуживания (обновления, исправления безопасности)
Ссылки для безопасного хранения :
- Распространяемые файлы для развертывания исполняемого файла C++, разработанного с помощью Visual Studio 2015, в Windows 7
- Как определить, нужно ли мне устанавливать VCRedist?
- Среда выполнения слияния WIX c++
- Как определить, установлен ли распространяемый компонент Visual C++ 2017
Старый ответ
Вот этот старый пост. Я не слишком люблю прямое чтение реестра, позвольте мне посмотреть, смогу ли я найти более надежный способ, но, возможно, тем временем посмотрю: Определить, установлен ли распространяемый компонент Visual C++ для Visual Studio 2012
Еще одна ссылка, как найти код продукта установщика Windows для установленных продуктов: Как я могу найти GUID продукта установленной установки MSI?
Представляем распространяемый компонент MSBuild JetBrains
Практические руководства
TL;DR: (обновление от 12 февраля 2020 г.)
- Для MSBuild из Microsoft Build Tools 2017 требуется действующая лицензия Visual Studio.
- JetBrains имеет пользовательский распространяемый компонент MSBuild, созданный из репозитория MSBuild с лицензией MIT на GitHub. Его можно использовать бесплатно с Rider и в других местах, таких как сервер CI/агент сборки.
- 👍 Эта пользовательская версия MSBuild поставляется вместе с Rider. Настройте его в настройках/предпочтениях (в разделе Сборка, выполнение, развертывание | Набор инструментов и сборка ) и выберите версию в комплекте:
За последний год JetBrains Rider стала основной IDE для многих разработчиков .NET. Многие из наших пользователей спрашивали нас о том, как они могут разрабатывать и создавать свои приложения без установки Visual Studio 2017. Ответ прост для macOS и Linux, где можно установить Mono. А для проектов .NET Core все, что нам нужно, — это пакет SDK для .NET Core, который существует для Windows, macOS и Linux.
Все становится немного интереснее при разработке и сборке приложений для полной версии .NET Framework в Windows… Rider будет использовать инструменты, доступные после установки Microsoft Build Tools 2017 , но с одним ограничением в лицензионном соглашении. : требуется действительная лицензированная копия Visual Studio .
Поскольку все, что нам нужно от инструментов сборки, — это MSBuild, лицензированный MIT, мы предоставляем распространяемый JetBrains MSBuild, который можно использовать бесплатно .
После загрузки и извлечения на нашу машину мы можем настроить Rider для его использования. В настройках Rider в разделе Сборка, выполнение, развертывание | Набор инструментов и сборка , затем Используйте MSBuild версии , мы можем указать Пользовательский исполняемый файл MSBuild, который мы только что извлекли.
Наш распространяемый компонент MSBuild создан на основе нашей вилки GitHub официального репозитория MSBuild. Мы не планируем создавать пользовательскую версию MSBuild — мы просто хотим предоставить сборку с лицензией MIT. Если у вас есть какие-либо PR, перейдите в исходный репозиторий Microsoft.
Обратите внимание, что наш распространяемый пакет не включает некоторые проприетарные целевые файлы, такие как Microsoft. WebApplication.targets
. В проекте Mono есть заглушка, которая может помочь.
Итак, чтобы использовать Rider для разработки полноценных приложений .NET Framework в Windows без установки Visual Studio:
- Загрузите и извлеките распространяемый JetBrains пакет MSBuild
- Загрузите и установите Microsoft .NET Framework Developer Pack 4.5.1 или выше
- Настройте Rider для использования пользовательского исполняемого файла MSBuild
- Для любых других типов приложений проверьте список предварительных условий для использования Rider под Windows без Visual Studio
.
Загрузите Rider прямо сейчас и попробуйте с нашим распространяемым пакетом MSBuild. Мы будем рады услышать ваши отзывы!
Обновление от 15 июня 2018 г.: Обновлены двоичные файлы, чтобы включить исправление для «Задача «GetReferenceNearestTargetFrameworkTask» не найдена». при сборке проекта приложения со ссылкой на проект библиотеки, если рабочая нагрузка кроссплатформенной разработки .