2010-06-09 5 views
1

У меня есть файл debug .exe, который я хочу запустить на других компьютерах, на которых не установлена ​​MS Visual Studio 2008. Как это может быть сделано? Опция release не работает, так как приложение не работает корректно при сборке в выпуске (не знаете почему).Как запустить файл отладки на другом компьютере?

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

ответ

0

Вам необходимо установить на VC++ выполнения на другой машине выбрать один (или оба) из следующих действий (в зависимости от версии визуальной студии вы используете) ...

  1. VS2008

  2. VS2005

+0

Я установил дистрибутив VS2008, но все еще получаю ту же ошибку. – Pazzy

3

У вас есть два варианта:

  1. Установите версию отладки VC REDIST
  2. Копирование отладки во время выполнения (C и или MFC) в ваш каталог приложений. Вы найдете отладочную рабочую среду в каталоге Visual Studio, например. C: \ Program Files (x86) \ Microsoft Visual Studio 8 \ VC \ redist \ Debug_NonRedist \ x86 \ Microsoft.VC80.DebugCRT. Вам придется скопировать этот каталог в каталог вашего приложения и убедиться, что манифест приложения ссылается на эту версию среды выполнения.
+0

Должен ли я скопировать содержимое этого каталога или всей папки в каталог приложения? Здесь также находятся папки DebugMFC и DebugOpenMP ... нужно ли их также копировать? – Pazzy

+0

Скопируйте всю папку в каталог приложения. Вам нужно будет также скопировать DebugMFC, если ваше приложение использует MFC. – humbagumba

0

В общем случае в большинстве случаев это проблема только программных зависимостей, таких как MSVCR90D.DLL. Проблема в том, что отладочная версия C++ Runtime не является бесплатным перераспределением.

Если вы используете функцию «Генерация кода» из «Многопоточная DLL (/ MDd) отладки» на «Многопоточный отладчик (/ MTd)». Возможно, ваша программа будет запущена после этого изменения.

Вы можете использовать профилирование в «Dependency Walker» (см. Www.dependencywalker.com), чтобы увидеть всю зависимость приложения (включая все DLL с задержкой загрузки).

+0

Ну, я получил версию релиза для правильной работы, но он все равно не открывается, когда у меня есть набор переделов, установленный на целевой машине. – Pazzy

+0

Извините, я не понимаю вашего комментария. Вы спросили о запуске DEBUG-версии вашего exe на другом компьютере. Теперь вы говорите о версии RELEASE. Хочешь, хочешь? Необходим пакет перераспределения, если вы скомпилируете свое приложение C/C++ с настройкой генерации кода многопоточной DLL (/ MDd) или многопоточной DLL (/ MD).Если вы используете «Multi-threaded Debug (/ MTd)» или «Multi-threaded (/ MT)», ваш EXE будет больше, но все функции времени выполнения C/C++ будут INSIDE вашего EXE, поэтому вам не нужно в большинстве случаев, чтобы включить любой пакет для повторного набора для C/C++ runtime – Oleg

+0

Простите за то, что вы не поняли ранее, с вашего права я спрашивал об отладке exe. Nevermind, все отсортировано сейчас. Еще раз спасибо за ваш вклад. Это очень помогло :) – Pazzy