Ridistribuzione di file Visual C++

Nota

Sei qui perché stai cercando un download di uno dei file di runtime di Visual C++? Passare alla pagina Download visual C++ Redistributable supportati più recenti.

File ridistribuibili e licenze

Quando si distribuisce un'applicazione, è necessario distribuire i file necessari per il suo supporto. Se uno di questi file viene fornito da Microsoft, verificare se è consentito ridistribuirli. Nell'IDE è disponibile un collegamento alle condizioni di licenza di Visual Studio. Usare il collegamento Condizioni di licenza nella finestra di dialogo Informazioni su Microsoft Visual Studio. In alternativa, scaricare le licenze e i contratti di licenza pertinenti dalla directory delle licenze di Visual Studio.

Per visualizzare l'elenco "REDIST" a cui si fa riferimento nella sezione "Codice distribuibile" delle condizioni di licenza software Microsoft di Visual Studio 2022, vedere File di codice distribuibile per Microsoft Visual Studio 2022

Per visualizzare l'elenco "REDIST" a cui si fa riferimento nella sezione "Codice distribuibile" delle condizioni di licenza software Microsoft di Visual Studio 2019, vedere File di codice distribuibile per Microsoft Visual Studio 2019

Per visualizzare l'elenco "REDIST" a cui si fa riferimento nella sezione "Codice distribuibile" delle Condizioni di licenza software Microsoft di Visual Studio 2017, vedere File di codice distribuibile per Microsoft Visual Studio 2017.

Per visualizzare l'elenco "REDIST" a cui si fa riferimento nella sezione "Codice distribuibile" delle condizioni di licenza software Microsoft di Visual Studio 2015, vedere File di codice distribuibile per Microsoft Visual Studio 2015.

Per altre informazioni sui file ridistribuibili, vedere Determinare le DLL da ridistribuire e gli esempi di distribuzione.

Individuare i file ridistribuibili

Per distribuire file ridistribuibili, è possibile usare i pacchetti ridistribuibili installati da Visual Studio. Nelle versioni di Visual Studio dal 2017, questi file sono denominati vc_redist.arm64.exe, vc_redist.x64.exee vc_redist.x86.exe. In Visual Studio 2015, 2017 e 2019 sono disponibili anche con i nomi vcredist_x86.exe, vcredist_x64.exee (solo 2015). vcredist_arm.exe

Il modo più semplice per individuare i file ridistribuibili consiste nell'usare le variabili di ambiente impostate in un prompt dei comandi per sviluppatori. In Visual Studio 2022 i file ridistribuibili si trovano nella %VCINSTALLDIR%Redist\MSVC\v143 cartella . Nella versione più recente di Visual Studio 2019 sono disponibili i file ridistribuibili nella %VCINSTALLDIR%Redist\MSVC\v142 cartella . In Visual Studio 2017 e Visual Studio 2019 sono disponibili anche in %VCToolsRedistDir%. In Visual Studio 2015 questi file sono disponibili in %VCINSTALLDIR%redist\<locale>, dove <locale> sono le impostazioni locali dei pacchetti ridistribuibili.

In Visual Studio 2022 e 2019 i file di modulo di merge fanno parte di un componente installabile facoltativo denominato C++ <version> Redistributable MSMs (MSM ridistribuibile) nella Programma di installazione di Visual Studio. I moduli di merge vengono installati per impostazione predefinita come parte di un'installazione C++ in Visual Studio 2017 e Visual Studio 2015. Quando è installato in Visual Studio 2022, i moduli di merge ridistribuibili sono disponibili in %VCINSTALLDIR%Redist\MSVC\v143\MergeModules. Nella versione più recente di Visual Studio 2019 i moduli merge ridistribuibili sono in %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. In Visual Studio 2019 e Visual Studio 2017 sono disponibili anche in %VCToolsRedistDir%MergeModules. In Visual Studio 2015 sono disponibili in Program Files [(x86)]\Common Files\Merge Modules.

Installare i pacchetti ridistribuibili

Con Visual C++ Redistributable Package vengono installate e registrate tutte le librerie di Visual C++. Se si usa uno, eseguirlo come prerequisito nel sistema di destinazione prima di installare l'applicazione. È consigliabile utilizzare questi pacchetti per le distribuzioni perché consentono l'aggiornamento automatico delle librerie di Visual C++. Per un esempio relativo all'uso di questi pacchetti, vedere Procedura dettagliata: distribuzione di un'applicazione Visual C++ tramite Visual C++ Redistributable Package.

Ogni pacchetto Ridistribuibile di Visual C++ verifica l'esistenza di una versione più recente nel computer. Se viene trovata una versione più recente, il pacchetto non verrà installato. In Visual Studio 2015 o versione successiva i pacchetti ridistribuibili visualizzano un messaggio di errore che indica che l'installazione non è riuscita. Se un pacchetto viene eseguito usando il /quiet flag , non viene visualizzato alcun messaggio di errore. In entrambi i casi, viene registrato un errore dal programma di installazione di Microsoft e al chiamante viene restituito un risultato di errore. In Visual Studio 2015 e versioni successive è possibile evitare questo errore controllando il Registro di sistema per verificare se è installata una versione più recente. Il numero di versione installato corrente viene archiviato nella HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64} chiave. Il numero di versione è 14.0 per Visual Studio 2015, 2017, 2019 e 2022 perché la versione più recente di Redistributable è compatibile con le versioni precedenti fino al 2015. La chiave è arm64, x86o x64 a seconda delle versioni vcredist installate per la piattaforma. È necessario controllare la Wow6432Node sottochiave solo se si usa Regedit per visualizzare la versione del pacchetto x86 installato in una piattaforma x64. Il numero di versione viene archiviato nel REG_SZ valore Version stringa e anche nel set di Majorvalori , BldMinor, e RbldREG_DWORD . Per evitare un errore in fase di installazione, è necessario ignorare l'installazione del pacchetto Redistributable se la versione attualmente installata è più recente.

Opzioni della riga di comando per i pacchetti ridistribuibili

Visual C++ Redistributable supporta diverse opzioni della riga di comando. Le /?opzioni , /ho /help visualizzano una finestra di dialogo popup che elenca le opzioni disponibili. È possibile specificare /install di installare, /repair ripristinare o /uninstall disinstallare Redistributable. L'opzione /layout copia il contenuto completo di Redistributable nella directory corrente. Per impostazione predefinita, Redistributable installa il relativo contenuto e richiede all'utente informazioni e se riavviare dopo l'installazione. È possibile specificare l'opzione /passive , che visualizza lo stato di avanzamento, ma non richiede altrimenti l'interazione dell'utente. È anche possibile specificare un'opzione /quiet , che non visualizza alcuna interfaccia utente o richiede alcuna interazione dell'utente. L'opzione /norestart elimina eventuali tentativi di riavvio. Per impostazione predefinita, viene creato un file di log in %TEMP%. È possibile usare /log filename.txt per accedere a un file specifico.

Questo comando di esempio installa x64 Redistributable. Mostra lo stato di avanzamento dell'installazione, ma non richiede l'interazione dell'utente o un riavvio:

vc_redist.x64.exe /install /passive /norestart

Installare i moduli merge ridistribuibili

Importante

I moduli di merge (.msm file) per i file ridistribuibili di Visual C++ sono deprecati. Non è consigliabile usarli per la distribuzione delle applicazioni. È invece consigliabile distribuire centralmente il pacchetto Ridistribuibile di Visual C++. La distribuzione centrale tramite un pacchetto Ridistribuibile consente a Microsoft di gestire i file della libreria di runtime in modo indipendente. Inoltre, una disinstallazione dell'app non può influire su altre applicazioni che usano anche la distribuzione centrale. Quando si usa un pacchetto Redistributable per la distribuzione centrale, non si è responsabili del rilevamento e della gestione delle librerie di runtime. In caso contrario, per aggiornare e ridistribuire il programma di installazione è necessario aggiornare e ridistribuire i .msi file della libreria di runtime. L'app potrebbe essere vulnerabile a bug o problemi di sicurezza fino a quando non si esegue l'operazione.

I moduli merge ridistribuibili devono essere inclusi nel pacchetto di Windows Installer (o in un pacchetto di installazione simile) usato per distribuire l'applicazione. Per altre informazioni, vedere Ridistribuzione tramite moduli di merge. Per un esempio, vedere Procedura dettagliata: Distribuzione di un'applicazione Visual C++ usando un progetto di installazione.

Installare singoli file ridistribuibili

È anche possibile installare direttamente le DLL Ridistribuibili nella cartella locale dell'applicazione. La cartella locale dell'applicazione è la cartella che contiene il file dell'applicazione eseguibile. Per motivi di manutenzione, non è consigliabile usare questo percorso di installazione.

Potenziali errori di run-time

Se Windows non riesce a trovare una delle DLL della libreria Redistributable richieste dall'applicazione, potrebbe essere visualizzato un messaggio simile al seguente: "Impossibile avviare l'applicazione perché library.dll non è stato trovato. La reinstallazione dell'applicazione potrebbe risolvere il problema."

Per risolvere questo tipo di errore, assicurarsi che il programma di installazione dell'applicazione venga compilato correttamente. Verificare che le librerie ridistribuibili vengano distribuite correttamente nel sistema di destinazione. Per altre informazioni, vedere Informazioni sulle dipendenze di un'applicazione Visual C++.

Ridistribuzione tramite moduli di merge
Descrive come usare i moduli di merge ridistribuibili di Visual C++ per installare le librerie di runtime di Visual C++ come DLL condivise nella %windir%\system32\ cartella .

Ridistribuzione di controlli ActiveX di Visual C++
Viene illustrato come ridistribuire un'applicazione che utilizza controlli ActiveX.

Ridistribuzione della libreria MFC
Viene illustrato come ridistribuire un'applicazione che utilizza MFC.

Ridistribuzione di un'applicazione ATL
Viene illustrato come ridistribuire un'applicazione che utilizza ATL. In Visual Studio 2012 e versioni successive non è necessaria alcuna libreria ATL.

Esempi di distribuzione
Collegamenti a esempi che illustrano come distribuire le applicazioni di Visual C++.

Distribuzione di applicazioni desktop
Vengono introdotti i concetti e le tecnologie di distribuzione di Visual C++.