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.exe
e vc_redist.x86.exe
. In Visual Studio 2015, 2017 e 2019 sono disponibili anche con i nomi vcredist_x86.exe
, vcredist_x64.exe
e (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
, x86
o 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 Major
valori , Bld
Minor
, e Rbld
REG_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 , /h
o /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é la libreria.dll non è stata trovata. 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++.
Articoli correlati
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++.