Поделиться через


Распространение Приложения и привязка к определенной библиотеке.

Обновлен: Июль 2008

Библиотеки для Visual Studio часто обновляются после выпуска. Например, это происходит при установке пакета обновления. Приложения, созданные с использованием обновленных библиотек, могут зависеть от некоторых изменений, сделанных в последних выпусках. Приложение может работать непредсказуемо, если передать его пользователю, который не установил такие же библиотеки, Чтобы не было неожиданностей, нужно привязать приложение к определенной версии библиотек.

Привязка по умолчанию

В этом разделе описана привязка по умолчанию приложений, скомпилированных с Visual C++ 2008 и более поздними выпусками. При компиляции приложения оно привязывается к исходной версии доступных библиотек. Это выполняется, даже если на компьютере установлена более поздняя версия. Например, если на компьютере установлен пакет обновления Visual C++ 2008 SP1, любое компилируемое приложение будет зависеть от исходной версии Visual C++ 2008.

Это поведение не имеет значения при развертывании приложения путем установки в централизованном расположении. При использовании такой схемы распространения последние версии библиотек всегда будут доступны для пользователя. Однако, если используется локальный метод развертывания, такой как метод закрытых сборок, описанный в подразделе Практическое руководство. Развертывание с помощью Xcopy, это поведение важно.

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

Cc664727.alert_note(ru-ru,VS.90).gifПримечание.

Если приложение зависит от функций, введенных в последней версии, необходимо перенести и установить новые библиотеки, в противном случае приложение не запустится.

Привязка к определенной версии

Если нужно, чтобы приложение требовало установки новых библиотек на компьютер, используйте следующую строку (или строки) кода.

#define _BIND_TO_CURRENT_CRT_VERSION 1;
#define _BIND_TO_CURRENT_ATL_VERSION 1;
#define _BIND_TO_CURRENT_MFC_VERSION 1;
#define _BIND_TO_CURRENT_OPENMP_VERSION 1;

Для привязки приложения к текущей версии всех библиотек Visual C++ используйте следующую строку кода. Это объединение всех предыдущих строк кода.

#define _BIND_TO_CURRENT_VCLIBS_VERSION 1;
Cc664727.alert_note(ru-ru,VS.90).gifПримечание.

Рекомендуется определить эти макросы на уровне командной строки. Если нужно включить эти определения в код, то их необходимо поместить в самом начале каждого блока компиляции — как первые строки в stdafx.h.

Когда приложение привязано к набору библиотек, оно не будет запускаться на компьютере с более ранней версией этих библиотек. При привязке приложения к определенной минимальной версии рекомендуется поставлять приложение вместе с требуемой версией библиотек.

См. также

Основные понятия

Распространение файлов Visual C++

Журнал изменений

Дата

Журнал изменений

Причина

Июль 2008

Добавлен раздел.

Изменение функции SP1.