Distribuzione in Visual C++ 2010
Quando si distribuisce un'applicazione in un altro computer, è necessario installare l'applicazione e gli eventuali file di libreria da cui dipende.In Visual C++ in Visual Studio 2012 è possibile distribuire Visual C++ Runtime con un'applicazione in tre modi: distribuzione centrale, distribuzione locale o collegamento statico.
Distribuzione centrale
Con la distribuzione centrale le DLL di Visual C++ vengono installate nella directory System32.Per distribuire centralmente un'applicazione, è possibile utilizzare una delle opzioni seguenti:
Strumento della riga di comando **VCRedist_**architettura.exe, dove architettura è x32, x64 o ia64.
Modelli unione.
VCRedist_architettura.exe installa tutte le librerie per la piattaforma hardware specifica.I modelli unione, o file MSM, costituiscono un metodo standard con il quale gli sviluppatori forniscono componenti di Windows Installer condivisi e logica di installazione alle loro applicazioni.
Il vantaggio principale della distribuzione centrale è la manutenzione di emergenza.Se viene individuata un'importante vulnerabilità della sicurezza, Microsoft aggiorna automaticamente i file di libreria distribuiti centralmente.
Distribuzione locale
Con la distribuzione locale i file di libreria dell'applicazione vengono installati nella cartella dell'applicazione.Per distribuire localmente l'applicazione, copiare semplicemente il file eseguibile e i file di libreria associati in una cartella.
Le versioni diverse possono coesistere poiché i nomi file contengono il numero di versione, ad esempio la versione 11 della DLL CRT è msvcr110.dll).
A differenza delle librerie distribuite centralmente, le librerie locali non vengono aggiornate automaticamente da Microsoft.Se si decide di utilizzare la distribuzione locale, è necessario implementare anche il metodo di aggiornamento delle librerie.
Collegamento statico
È possibile collegare in modo statico l'applicazione a qualsiasi libreria (ad esempio CRT, MFC o ATL) per produrre un eseguibile senza dipendenze nelle DLL.Il vantaggio di un collegamento statico è la possibilità di copiare la distribuzione dell'applicazione da un computer a un altro senza dover copiare anche i file di libreria.Se si utilizza il collegamento statico e Microsoft aggiorna la libreria a cui si è collegati, l'applicazione non potrà utilizzare la libreria aggiornata.
Vulnerabilità di sicurezza
In caso di vulnerabilità della sicurezza, Microsoft fornisce una patch di sicurezza per la libreria interessata.È responsabilità del writer dell'applicazione di implementare la patch i computer con la libreria vulnerabile.
Se la vulnerabilità della sicurezza viene ritenuta critica e richiede manutenzione di emergenza, Microsoft utilizzerà Microsoft Update per gestire tutti i computer in cui la libreria di Visual C++ specifica è installata centralmente.Se l'applicazione utilizza file di libreria locali, è necessario creare indicazioni personalizzate per la manutenzione di emergenza.
Risoluzione dei problemi
Per diagnosticare problemi relativi al caricatore, utilizzare depends.exe o where.exe.L'ordine di caricamento delle librerie di Visual C++ è un dipendente.Per ulteriori informazioni, vedere Ordine di ricerca della libreria a collegamento dinamico (windows).