Ошибка: информация о параллельной конфигурации в "BLAH.EXE" содержит ошибки - PullRequest
15 голосов
/ 31 октября 2008

Это ошибка, которую Dependency Walker выдает мне на исполняемый файл, который я создаю с помощью VC ++ 2005 Express Edition. При попытке запустить .exe, я получаю:

This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem.

(Я новичок в манифесте / SxS / и т. Д., Способ делать вещи после VC ++ 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.

Ответы [ 5 ]

14 голосов
/ 06 января 2009

Откройте страницу свойств для вашего проекта, перейдите на страницу Свойства конфигурации -> C / C ++ -> Генерация кода и измените выбор библиотеки времени выполнения на / MT или / MTd, чтобы ваш проект не использовал библиотеки времени выполнения DLL .

Среда выполнения C / C ++ DLL, используемая VS2003 и более поздними версиями, не распространяется автоматически с последней версией ОС и является реальной проблемой при установке и работе без проблем такого рода. статически связывайте c-runtime и просто избегайте общего беспорядка, который проявляется, и dll среды выполнения для конкретной версии.

5 голосов
/ 07 июля 2009

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

Даже после установки распространяемых библиотек Microsoft от Microsoft я получал эту ошибку, исправлением было копирование

C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

папка в каталог приложения на целевом ПК. После этого проблем больше нет.

Кстати, DLL, которая доставляла мне проблемы, была сторонней DLL, у которой никогда не было проблем на более чем 100 других компьютерах ... пойди разберись.

4 голосов
/ 01 ноября 2008

У меня была эта проблема. Решение состоит из двух шагов:
1. Скомпилируйте вашу программу в режиме «Release» вместо режима «Debug» (на панели инструментов обычно есть поле со списком)
2. Загрузите с Microsoft их распространяемый пакет компонентов времени выполнения. Обязательно загрузите версию x86 для 32-разрядных компьютеров и версию x64 для 64-разрядных компьютеров / операционных систем. Установите этот пакет на целевой компьютер, и ваше приложение должно нормально работать

P.S. Это вещь SxS
P.P.S. В качестве альтернативы, используйте другой компилятор (например, GCC, например, с Dev-Cpp) для компиляции исходного кода вашей программы, и ваши головные боли исчезнут.

3 голосов
/ 31 октября 2008

Запустить Просмотр событий: будет больше информации.

Возможно, вы пытались запустить программу на компьютере, на котором не установлены распространяемые файлы VC, или вы пытаетесь запустить отладочную сборку на компьютере, на котором не установлена ​​Visual Studio (библиотеки отладки). не подлежит распространению).

1 голос
/ 20 июня 2010

У меня была такая же проблема с отладочными файлами VS 2008 на других машинах winxp sp3.

  1. Сначала я попытался установить клиентскую машину с пакетом vist redist, как это показалось разумным. Досадно, что не сработало .
  2. Я попытался скопировать все зависимые библиотеки в каталог приложения - все еще не работал
  3. После нескольких часов работы над этой проблемой я обнаружил, что для последних сборок VS требуются манифесты и политики для связи с dll. После копирования их в соответствующие папки «C: \ WINDOWS \ WinSxS \» я получил рабочий .

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

...