Redistribuição de um aplicativo e vinculação IT para bibliotecas específicas
As bibliotecas de Visual Studio Geralmente, são atualizados depois de uma versão. Por exemplo, isso pode ocorrer quando instalar um serviço empacotar.Aplicativos que são criados com as bibliotecas atualizadas podem depender de algumas alterações que foram feitas em versões mais recentes.O aplicativo pode se comportar de maneiras inesperadas se transferi-la a um usuário que não tenha instalado as bibliotecas do mesmas.Para se proteger contra esse comportamento inesperado, você pode BIND seu aplicativo para uma versão específica das bibliotecas.
Comportamento de ligação padrão
Esta seção descreve o comportamento padrão dos aplicativos compilados com Visual C++ 2008 e versões posteriores. Quando você compilar um aplicativo, está limite a versão original de bibliotecas disponível.Isso é verdadeiro mesmo se você tiver uma versão posterior instalada no seu computador.Por exemplo, se você tiver Visual C++ 2008 SP1 instalado no seu computador, quaisquer aplicativos que compilar neste computador serão ainda dependem a versão original do Visual C++ 2008.
Esse comportamento é de nenhuma conseqüência, se você implantar o aplicativo instalando em um local central.Usando esse esquema de distribuição, mais recentes bibliotecas sempre estará disponível para o usuário participante.No entanto, se você usar um método de implantação local, sistema autônomo com conjuntos privados, sistema autônomo descrito no tópico Como: implantar usando XCopy, esse comportamento é importante.
O comportamento de ligação padrão permite que você recompilar o seu programa depois de obter uma nova versão e distribuir o executável de novo.Os de usuários finais que já instalaram as bibliotecas necessárias precisarão apenas o executável novo; você não terá que empacotar e reinstalar as mais recentes bibliotecas.
Observação: |
---|
Se seu aplicativo depende funcionalidade introduzida na versão mais recente, Você deve distribuir e reinstale as novas bibliotecas, senão será o aplicativo não Execute. |
Como BIND a Specific Versions
Se você deseja forçar o seu aplicativo exigir que as bibliotecas mais recentes esteja instalado no seu computador, use um ou mais linhas de código a seguir:
#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 a linha de código a seguir para BIND o seu aplicativo para a versão corrente de todas as suas bibliotecas Visual C++.Esta é uma união de todas as linhas anteriores do código.
#define _BIND_TO_CURRENT_VCLIBS_VERSION 1;
Observação: |
---|
Recomendamos que você definir Essas macros no nível de linha de comando.Se você preferir incluir as definições no código, você deve colocar -os no muito Iniciar de cada unidade de compilação - sistema autônomo sistema autônomo primeiras linhas no stdafx.h . |
Quando você BIND seu aplicativo a um conjunto de bibliotecas, ele não será executado em um computador que tenha uma versão anterior dessas bibliotecas.Se você vincula seu aplicativo para uma versão mínima específico, recomendamos que você enviar seu aplicativo juntamente com a versão necessária das bibliotecas.
Consulte também
Conceitos
Redistribuindo arquivos do Visual C++
Date |
History |
Motivo |
---|---|---|
Julho de 2008 |
Tópico adicional. |
Alteração de recurso do SP1. |