Distribuzione in Visual C++ 2010
Quando si distribuisce un'applicazione Visual C++ in un altro computer, è necessario installare l'applicazione e gli eventuali file di libreria da cui dipende.Se viene aggiornata una libreria, ad esempio durante la correzione di una vulnerabilità di sicurezza, è opportuno applicare l'aggiornamento nella destinazione in cui viene distribuita l'applicazione.
In Visual Studio sono disponibili tre modi per distribuire le librerie di Visual C++ insieme all'applicazione: distribuzione centrale, distribuzione locale e collegamento statico.Microsoft aggiorna automaticamente le librerie distribuite centralmente.Per le librerie di Visual C++ distribuite localmente o collegate staticamente, il writer dell'applicazione deve fornire gli aggiornamenti.
Distribuzione centrale
Nella distribuzione centrale, i file di libreria di Visual C++ vengono installati nella directory %windir%\system32\.Per distribuire centralmente le librerie di Visual C++, è possibile utilizzare uno degli elementi seguenti:
File del pacchetto ridistribuibile, ovvero eseguibili autonomi della riga di comando che è possibile utilizzare per installare le librerie ridistribuibili di Visual C++.
Modelli unione ridistribuibili (file MSM) che è possibile utilizzare per distribuire librerie specifiche e includere nel file di Windows Installer (MSI) dell'applicazione.
Un file del pacchetto ridistribuibile consente di installare le librerie di Visual C++ per una particolare architettura di sistema.È possibile programmare il programma di installazione dell'applicazione per eseguirlo come prerequisito prima di installare l'applicazione.Un modello unione consente l'inclusione della logica di installazione per una libreria di Visual C++ in un file di installazione dell'applicazione Windows Installer.È possibile includere il numero di modelli unione richiesto dall'applicazione.
Poiché la distribuzione centrale delle librerie di Visual C++ eseguita tramite il pacchetto ridistribuibile consente l'aggiornamento automatico da Microsoft, è consigliabile utilizzare il collegamento dinamico e i pacchetti ridistribuibili per l'applicazione.
Distribuzione locale
Nella distribuzione locale i file di libreria vengono installati nella cartella dell'applicazione insieme al file eseguibile.È possibile installare nella stessa cartella versioni diverse di librerie perché il nome file di ogni versione viene reso univoco dall'inclusione del relativo numero di versione.Ad esempio, la versione 12 del runtime C è msvcr120.dll.
Poiché Microsoft non può aggiornare automaticamente le librerie di Visual C++ distribuite localmente, è consigliabile usare cautela nell'eseguire la distribuzione locale di queste librerie.Se si decide di utilizzare la distribuzione locale delle librerie ridistribuibili, è consigliabile implementare il proprio metodo di aggiornamento automatico delle librerie distribuite localmente.
Collegamento statico
È possibile collegare in modo statico una libreria di Visual C++ a un'applicazione, ovvero compilarla nell'applicazione in modo da non dover distribuire separatamente i file di libreria di Visual C++.È tuttavia consigliabile usare cautela se si decide di adottare questo approccio perché le librerie collegate in modo statico non possono essere aggiornate sul posto.Se si utilizza il collegamento statico e si desidera aggiornare una libreria collegata, è necessario ricompilare e ridistribuire l'applicazione.
Risoluzione dei problemi
L'ordine di caricamento delle librerie di Visual C++ è dipendente dal sistema.Per diagnosticare problemi relativi al caricatore, utilizzare depends.exe o where.exe.Per ulteriori informazioni, vedere Ordine di ricerca delle librerie a collegamento dinamico (Windows).