# Redistributing an Application and Binding It to Specific Libraries

+关注继续查看

Visual Studio 2008

Updated: July 2008

The libraries for Visual Studio often are updated after a release. For example, this can occur when you install a service pack. Applications that are designed with the updated libraries might depend on some changes that were made in the latest releases. The application might behave in unexpected ways if you transfer it to a user who has not installed the same libraries. To protect against this unexpected behavior, you can bind your application to a specific version of the libraries.

Default Binding Behavior

This section describes the default behavior of applications compiled with Visual C++ 2008 and later releases. When you compile an application, it is bound to the original release version of libraries available. This is true even if you have a later release installed on your computer. For example, if you have Visual C++ 2008 SP1 installed on your computer, any applications that you compile on this computer will still depend on the original release version of Visual C++ 2008.

This behavior is of no consequence if you deploy your application by installing in a central location. By using this distribution scheme, the latest libraries will always be available to the end user. However, if you use a local deployment method, such as with private assemblies as described in the topic How to: Deploy using XCopy, this behavior is important.

The default binding behavior enables you to recompile your program after you obtain a new release, and to distribute the new executable. The end users who already installed the necessary libraries will need only the new executable; you will not have to package and reinstall the latest libraries.

Note:

If your application depends on functionality introduced in the latest release, you must distribute and reinstall the new libraries, or else the application will not run.

How to Bind to Specific Versions

If you want to force your application to require that the latest libraries be installed on your computer, use one or more of the following lines of code:

Copy

#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


Use the following line of code to bind your application to the current version of all your Visual C++ libraries. This is a union of all the previous lines of code.

Copy

#define _BIND_TO_CURRENT_VCLIBS_VERSION 1;


Note:

We recommend that you define these macros at the command-line level. If you prefer to include the definitions in code, you must put them at the very start of every compilation unit - such as the first lines in stdafx.h.

When you bind your application to a set of libraries, it will not run on a computer that has an earlier version of those libraries. If you bind your application to a specific minimum version, we recommend that you ship your application together with the required version of the libraries.

###### Concepts

Redistributing Visual C++ Files

AI风口退潮，GTC 2018将聚焦应用与落地
AI风口退潮，GTC 2018将聚焦应用与落地
35 0
ABAP git客户端的简单介绍
ABAP git客户端的简单介绍
25 0
ABAP git客户端的简单介绍
Jerry习惯把自己写的小程序放到自己的github上：https://github.com/i042416
83 0

1557 0

1156 0
RAP Mock 工具模拟数据

1280 0

在Oracle 10g中的引入了ORA_ROWSCN伪列新特性。基于此种伪列所提供的信息，我们可以方便地找出某个数据块或某一个行最近被修改的时间戳。它又分为两种模式:一种是基于block这是默认的模式(块级跟踪,非行依赖性(NOROWDEPENDENCIES))；还有一种是基于row上，这种模式只能在建里表时指定ROWDEPENDENCIES(行级跟踪)，不可以通过后期的alter  table语句来将表修改为ROWDEPENDENCIES。
1373 0

<div id="article_content" class="article_content" style="margin:35px 0px; font-size:15px; color:rgb(85,85,85); line-height:35px; font-family:'microsoft yahei'"> <p style="margin-top:0px; margin-b
1201 0
【技术贴】三星Note8 N5100实用教程，关闭相机快门声，增加浏览器退出按钮。

1003 0
+关注
3545

0