Переносимое приложение Windows (не исходный код!) С Visual C ++ 2005/2008/2010? - PullRequest
1 голос
/ 07 апреля 2011

Я не имею в виду «переносимый» способ, которым вы можете перекомпилировать исходный код под Linux или что-то еще, а скорее приложение только для Windows, которое не требует установки, поэтому вы просто помещаете .exe и некоторыеdll-s в папке и скопируйте его на другой компьютер, и он работает.

Это не потребовало никаких усилий с VS 2003 и более ранними версиями, но с 2008 помещать отсутствующие dll-ы в ту же папкуне работает, требует установки распространяемых файлов.Я помню, что слышал, что проблему можно решить с помощью манифестов, с которыми я никогда раньше не сталкивался.

Итак, как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 07 апреля 2011

Связь со статическими библиотеками для CRT, MFC и всего, что вы используете. Убедитесь, что вы не используете Win32 API, которые были введены в Vista или Win7 (т.е. сохраняйте WIN32_WINNT <= 0x501). Используйте <a href="http://www.dependencywalker.com/" rel="nofollow"> Dependency Walker , чтобы гарантировать, что ваш исполняемый файл импортирует только kernel32, user32, gdi32 или другие вещи, которые гарантированно будут включены в установку Windows по умолчанию.

0 голосов
/ 10 августа 2011

Также посмотрите отчеты о обратной совместимости двоичных файлов для всех заинтересованных версий Windows: https://abi -laboratory.pro / index.php? View = windows

И проверьте, импортируют ли ваши двоичные файлы / библиотеки какие-либо из удаленных / измененных символов.

Отчеты были созданы с помощью инструмента abi-Compliance Checker .

enter image description here

0 голосов
/ 07 апреля 2011

Как насчет статического связывания среды выполнения c?Ваш полученный исполняемый файл будет больше, хотя.

...