Ridistribuzione di un'applicazione e relativa associazione a librerie specifiche
Aggiornamento: Luglio 2008
Le librerie relative a Visual Studio vengono spesso aggiornate dopo l'installazione di una nuova versione, ad esempio quando si installa un service pack. Le applicazioni progettate con le librerie aggiornate potrebbero dipendere da alcune modifiche apportate alle ultime versioni e comportarsi in modo imprevisto se trasferite a utenti che non dispongono delle stesse librerie. Per evitare tale comportamento imprevisto è possibile associare l'applicazione a una versione specifica delle librerie.
Comportamento di associazione predefinito
In questa sezione viene descritto il comportamento predefinito di applicazioni compilate con Visual C++ 2008 e versioni successive. Quando si compila un'applicazione, questa è associata alla versione finale originale delle librerie disponibili. Ciò vale anche se nel computer è installata una versione successiva. Se ad esempio nel computer è installato Visual C++ 2008 SP1, le applicazioni compilate nel computer dipenderanno ancora dalla versione finale originale di Visual C++ 2008.
Questo comportamento non riveste alcuna importanza se si distribuisce l'applicazione eseguendo l'installazione in una posizione centrale. Con questo schema di distribuzione le librerie più recenti saranno sempre disponibili per l'utente finale. Se tuttavia si utilizza un metodo di distribuzione locale, ad esempio con assembly privati come descritto nell'argomento Procedura: distribuire tramite XCopy, questo comportamento è rilevante.
Il comportamento di associazione predefinito consente di ricompilare il programma dopo avere ottenuto una nuova versione e di distribuire il nuovo file eseguibile. Gli utenti finali che dispongono già delle librerie necessarie installate necessiteranno solo del nuovo file eseguibile; non sarà necessario assemblare e reinstallare le librerie più recenti.
Nota: |
---|
Se l'applicazione dipende da funzionalità introdotte nell'ultima versione, è necessario distribuire e reinstallare le nuove librerie, altrimenti l'applicazione non verrà eseguita. |
Come eseguire l'associazione a versioni specifiche
Se si desidera fare in modo che l'installazione delle librerie più recenti nel computer sia obbligatoria per un'applicazione, utilizzare una o più delle righe di codice seguenti:
#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;
Utilizzare la riga di codice seguente per associare l'applicazione alla versione corrente di tutte le librerie Visual C++ in uso. Si tratta di un'unione di tutte le righe di codice precedenti.
#define _BIND_TO_CURRENT_VCLIBS_VERSION 1;
Nota: |
---|
È consigliabile definire queste macro a livello di riga di comando. Se si preferisce includere le definizioni nel codice, è necessario farlo all'inizio di ogni unità di compilazione, ad esempio le prime righe in stdafx.h. |
Quando si associa l'applicazione a un insieme di librerie, l'applicazione non verrà eseguita in un computer con una versione precedente delle stesse librerie. Se si associa l'applicazione a una versione minima specifica, è consigliabile fornire la versione necessaria delle librerie unitamente all'applicazione.
Vedere anche
Concetti
Ridistribuzione di file Visual C++
Cronologia delle modifiche
Date |
History |
Motivo |
---|---|---|
Luglio 2008 |
Argomento aggiunto. |
Modifica di funzionalità in SP1. |