Как распространять приложение vC++ из Visual Studio 2008
Я разработал приложение на VC++ (Visual Studio 2008 версия 9.0.30729.1SP).
Когда я просто дважды нажимаю на exe-файл на другой машине. это дает мне ошибку "бок о бок".
Я проверил, что на машине нет ничего в папке "C:\Program Files\Microsoft Visual Studio 9.0\VC". (но с установленной платформой 3.5)
Что мне нужно сделать? Я очень новичок в приложениях VC++.
Пожалуйста, кто-нибудь может объяснить, как я могу объединить все в установку с компьютера, на котором я скомпилировал свое приложение.
Даже папка 'C:\Program Files\Microsoft Visual Studio 9.0\VC' также.
Пожалуйста, помогите в этом вопросе.
2 ответа
Лучше всего создать программу установки. Он автоматически установит все необходимые зависимости на компьютер пользователя вместе с вашим приложением. Вы определенно не хотите пытаться найти все библиотеки, от которых это зависит, путем ручной очистки вашего диска. А статическое связывание, как правило, не является предпочтительным вариантом, поскольку оно означает, что ваше приложение не будет автоматически использовать преимущества обновлений, вносимых в библиотеки DLL времени выполнения.
Visual Studio даже имеет встроенную поддержку для создания установщика для вашего приложения. Чтобы использовать его, выберите Файл -> Новый -> Новый проект. Затем разверните "Другие типы проектов" в диалоговом окне и разверните "Настройка и развертывание". Нажмите "Установщик Visual Studio" и выберите создание нового "Проекта установки".
Или, если вы не хотите использовать Visual Studio, бесплатная полнофункциональная программа Inno Setup является фантастической альтернативой.
Установите распространяемый пакет Visual C++ 2008 на другом компьютере. Это обеспечит доступность всех необходимых библиотек CRT. Если вашему приложению нужны какие-либо другие библиотеки DLL, они должны находиться в той же папке (или в системном пути), что и ваше приложение.
Если вы хотите сделать это правильно, я настоятельно рекомендую ответ Коди. Но если вы хотите быстро запустить приложение, которое может иметь или не иметь внешние библиотеки DLL, тогда этот метод будет работать.