Самое простое решение состоит в том, чтобы скомпилировать ваш exe-файл с ЭЛТ, статически связанной, а не динамически связанной.
Откройте ваш проект в Visual Studio.
Выберите в меню Проект-> Свойства (или щелкните правой кнопкой мыши проект и выберите «Свойства: в обозревателе решений).
В дереве управления с вкладками: Свойства конфигурации: C / C ++: Генерация кода
Измените параметр «Библиотека времени выполнения» с «Многопоточная отладочная DLL (/ MDd)» на «Многопоточная отладка (/ MTd)»
Перестройте, скопируйте и все будет хорошо
В противном случае, другое решение заключается в создании MSI, который объединяет биты времени выполнения VC9. Создайте проект установки, который включает в себя следующие модули слияния MSM:
"C: \ Program Files \ Common Files \ Moge Modules \ Microsoft_VC90_DebugCRT_x86.msm"
«C: \ Program Files \ Common Files \ Moge Modules \ policy_9_0_Microsoft_VC90_DebugCRT_x86.msm»
(Если вы работаете с 64-битной версией, эти файлы находятся в вашей папке "c: \ program files (x86)".)
Наконец, если это не сработает, возможно, у вас есть какая-то другая DLL (MFC?), Которую также необходимо скопировать. Я считаю, что когда вы получаете сообщение об ошибке «Конфигурация приложения неверна», вы можете просмотреть журналы системных событий (Панель управления -> Инструменты администратора -> Просмотр событий). Обычно отсутствует подробное сообщение об ошибке отсутствующей DLL.