Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
In Visual Studio 2019 e versioni successive i moduli di merge per i file ridistribuibili di Visual C++ sono deprecati. Non è consigliabile usarli per la distribuzione dell'applicazione. Windows Update non è possibile aggiornare i file ridistribuibili installati usando i moduli di merge perché il meccanismo di rilevamento dipende dalla conoscenza dei dettagli del pacchetto di installazione.
I pacchetti Ridistribuibili di Visual C++ sono noti per ogni versione, ma i pacchetti che usano moduli di merge vengono generati dall'utente. Microsoft non è in grado di conoscere i dettagli dei pacchetti generati dall'utente. È invece consigliabile usare la distribuzione centrale del pacchetto Visual C++ Redistributable. La distribuzione centrale installa i file ridistribuibili nella cartella Windows %SYSTEMROOT%\system32\ per l'uso da parte di tutte le applicazioni e utenti. La distribuzione centrale tramite un pacchetto ridistribuibile consente a Microsoft di gestire i file della libreria di runtime in modo indipendente. Una disinstallazione dell'app non può interrompere altre applicazioni che usano anche la distribuzione centrale.
Quando si usa un pacchetto ridistribuibile per la distribuzione centrale, non si è responsabili del rilevamento e dell'aggiornamento delle librerie di runtime come parte della manutenzione dell'applicazione. Il servizio Microsoft Update aggiorna automaticamente queste librerie. In caso contrario, per aggiornare e ridistribuire il programma di installazione è necessario aggiornare e ridistribuire i file della libreria di runtime. L'app potrebbe essere vulnerabile a bug o problemi di sicurezza fino a quando non si esegue l'operazione.
Visual Studio include moduli di unione (file .msm) per ciascun componente di Visual C++ concesso in licenza per la ridistribuzione insieme a un'applicazione. Sono disponibili versioni separate dei moduli di merge per ogni piattaforma di destinazione. Quando un modulo di merge viene compilato in un file di installazione del programma di installazione di Windows, consente la distribuzione di file ridistribuibili di Visual C++ in tale piattaforma specifica. Non è possibile includere moduli di merge per versioni diverse della stessa libreria a collegamento dinamico (DLL) in un unico programma di installazione. Nel file di installazione del programma di installazione specificare che i moduli di merge sono prerequisiti per l'applicazione.
È possibile usare i moduli di merge per la distribuzione centrale o la distribuzione locale. Gli utenti non possono installare i file distribuiti centralmente a meno che non dispongano dei diritti di amministratore. La distribuzione locale potrebbe consentire a un non amministratore di installare ed eseguire l'app, ma al costo della gestibilità indipendente.
Il servizio di installazione segnala un errore se si tenta di eseguire la distribuzione centrale di moduli di merge meno recenti su librerie esistenti più recenti. È consigliabile scrivere lo script del programma di installazione per gestire questo errore in modo elegante e non visualizzare un messaggio di errore. Il codice può comunque essere distribuito ed eseguito correttamente nonostante questo errore. Per altre informazioni, vedere compatibilità binaria C++ tra versioni Visual Studio.
Se si distribuisce il codice solo come programma di installazione, è consigliabile non includere i moduli di merge nel programma di installazione. Segnalare invece un errore all'utente quando le librerie ridistribuibili necessarie non vengono trovate. Nella finestra di dialogo di errore includere istruzioni su come trovare e installare il pacchetto ridistribuibile più recente. Per altre informazioni e collegamenti a pacchetti ridistribuibili, vedere i download di Visual C++ supportati più recenti.
I pacchetti ridistribuibili e i moduli di merge più recenti sono compatibili con il codice compilato usando Visual Studio 2015 e versioni successive. Il codice compilato dalle versioni di Visual Studio precedenti al 2015 richiede un pacchetto ridistribuibile separato.
Quando usare i moduli di merge
I moduli di merge sono appropriati solo in circostanze limitate:
- Non è possibile installare o richiedere un pacchetto ridistribuibile separato per motivi di criteri.
- Il codice richiede una versione specifica e compatibile con i bug delle librerie.
- Il codice è destinato a una sola piattaforma e non si hanno dipendenze da più di una versione delle DLL.
- Si intende gestire regolarmente il codice distribuito in modo che le librerie rimangano aggiornate.
Quando si usano moduli di merge, è necessario tenere traccia e soddisfare regolarmente l'applicazione con gli aggiornamenti della libreria. In caso contrario, si forza infine i client a scegliere tra l'esecuzione del codice o la sicurezza rimanente.
Dove trovare i file di modulo di unione
In Visual Studio 2022 e 2019 i file di modulo di merge fanno parte di un componente installabile facoltativo denominato C++ <version> Redistributable MSM nel 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 i moduli di merge vengono installati in Visual Studio 2022, è possibile trovare i moduli unione ridistribuibili di Visual C++ in %VCINSTALLDIR%Redist\MSVC\v143\MergeModules.
Nella versione più recente di Visual Studio 2019, i moduli di merge si trovano in %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. Sia in Visual Studio 2019 che in Visual Studio 2017, si trovano anche in %VCToolsRedistDir%MergeModules. In Visual Studio 2015 vengono trovati in Program Files [(x86)]\Common Files\Merge Modules. Per altre informazioni e un collegamento a un elenco di moduli di unione ridistribuibili, vedere Ridistribuire i file di Visual C++.
Contenuti correlati
- Ridistribuire i file di Visual C++