Ridistribuzione di file Visual C++

Nota

Si è qui perché si sta cercando un download di uno dei file di runtime di Visual C++? Passare alla pagina Più recente supportata Visual C++ Redistributable download.

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 è possibile ridistribuirli. Nell'IDE è disponibile un collegamento alle condizioni di licenza Visual Studio. Usare il collegamento Condizioni di licenza nella finestra di dialogo Informazioni su Microsoft Visual Studio. In alternativa, scaricare le licenze EULA e 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 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 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 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 Visual Studio 2015, vedere File di codice distribuibile per Microsoft Visual Studio 2015.

Per altre informazioni sui file ridistribuibili, vedere Determinazione delle 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 gli 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 . Sia in Visual Studio 2017 che in 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 nella Programma di installazione di Visual Studio. I moduli di merge vengono installati per impostazione predefinita come parte di un'installazione di C++ in Visual Studio 2017 e Visual Studio 2015. Quando installato in Visual Studio 2022, i moduli 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. Sia in Visual Studio 2019 che in Visual Studio 2017, sono disponibili anche in %VCToolsRedistDir%MergeModules. In Visual Studio 2015 si trovano 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 ne 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 Visual C++ Redistributable pacchetto 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 versioni successive, i pacchetti Ridistribuibili visualizzano un messaggio di errore che indica che l'installazione non è riuscita. Se un pacchetto viene eseguito utilizzando 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 scoprire 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|ARM} 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 è ARM, x86o x64 a seconda delle versioni vcredist installate per la piattaforma. È necessario controllare nella 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 , Minor, Blde RbldREG_DWORD . Per evitare un errore in fase di installazione, è necessario ignorare l'installazione del pacchetto Redistributable se la versione attualmente installata è più recente.

Installare i moduli merge ridistribuibili

Importante

I moduli di merge (.msmfile) per Visual C++ Redistributable file sono deprecati. Non è consigliabile usarli per la distribuzione dell'applicazione. È invece consigliabile eseguire la distribuzione centrale del pacchetto Visual C++ Redistributable. La distribuzione centrale da parte di 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 Ridistribuibile 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 questa operazione.

I moduli merge ridistribuibili devono essere inclusi nel pacchetto del programma di installazione di Windows (o 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++ tramite 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 runtime

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++.

Ridistribuzione tramite moduli di merge
Viene descritto come usare Visual C++ Redistributable moduli di merge 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++.