Ошибка: информация о конфигурации "Side-by-Side" в "BLAH.EXE" содержит ошибки
Это ошибка Dependency Walker дает мне исполняемый файл, который я создаю с помощью VС++ 2005 Express Edition. При попытке запустить .exe я получаю:
This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem.
(Я новичок в манифесте/SxS/и т.д., который делает вещи после VС++ 2003.)
EDIT:
Я работаю на той же машине, с которой я создаю .exe. В Event Viewer у меня есть бесполезное:
Faulting application blah.exe, version 0.0.0.0, faulting module blah.exe,
version 0.0.0.0, fault address 0x004239b0.
Ответы
Ответ 1
Откройте лист свойств для своего проекта, перейдите на страницу "Свойства конфигурации → C/С++ → Генерация кода" и измените выбор библиотеки времени выполнения на /MT или/MTd, чтобы ваш проект не использовал библиотеки времени выполнения DLL.
Время выполнения C/С++ DLL, используемое VS2003 и выше, автоматически не распространяется с последней версией ОС и является реальной болью для установки и работы без такой проблемы. статически связывать c-runtime и просто избегать полного беспорядка, который является манифестом и конкретными версиями DLL для выполнения.
Ответ 2
Извините, что столкнулся с старым вопросом, но я смог обойти эту точную проблему и подумал, что отправлю решение на тот случай, если кому-то это понадобится...
Даже после установки распространяемых DLL файлов Microsoft я получал эту ошибку, исправление заключалось в том, чтобы скопировать
C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT
в каталог приложения на целевом компьютере. После этого больше нет проблем.
BTW, DLL, которая давала мне проблемы, была сторонняя DLL, у которой никогда не было проблем на более чем 100 других компьютерах... go figure.
Ответ 3
У меня была эта проблема. Решение состоит из двух этапов:
1. Скомпилируйте свою программу в режиме "Release" вместо режима "Отладка" (обычно на панели инструментов есть комбинированное поле)
2. Загрузите из Microsoft их Распространяемый пакет компонентов времени исполнения. Обязательно загрузите версию x86 для 32-разрядных компьютеров и версию x64 для 64-разрядных компьютеров/ОС. Установите этот пакет на целевой компьютер, и ваше приложение должно работать нормально
P.S. Это вещь SxS
P.P.S. Кроме того, используйте другой компилятор (например, GCC, например, с Dev-Cpp), чтобы скомпилировать ваш источник программы, и ваши головные боли исчезнут.
Ответ 4
Запустите средство просмотра событий: у него будет больше информации.
Возможно, вы попытались запустить свою программу на компьютере, на котором не установлены распространяемые VC-компоненты, или вы пытаетесь запустить сборку отладки на машине, на которой не установлена Visual Studio (библиотеки отладки не распространяются).
Ответ 5
У меня была та же проблема с VS 2008-встроенными отладчиками на других машинах win3p sp3.
- Сначала я попробовал установить клиентскую машину с пакетом vic redist, поскольку это казалось разумным. Раздражающе, он не работал.
- Я попытался скопировать все зависимые dll в каталог приложения - все еще не работал
- После нескольких часов работы над этой проблемой я обнаружил, что последние сборки VS требуют наличия манифеста и политик для связи с dll. После копирования их в соответствующие папки "C:\WINDOWS\WinSxS \" я получил рабочий.
Проблема возникла из-за того, что пакет vc redist не установил отладочные версии DLL, они как-то подумали о том, чтобы выяснить, что программист.