Condividi tramite


Come vengono eseguiti gli aggiornamenti di applicazioni con ClickOnce

ClickOnce usa le informazioni sulla versione del file specificate nel manifesto della distribuzione di un'applicazione per decidere se aggiornare i file dell'applicazione. Dopo l'avvio di un aggiornamento, ClickOnce usa una tecnica denominata applicazione di patch per evitare il download ridondante dei file dell'applicazione.

Applicazione di patch ai file

Quando si aggiorna un'applicazione, ClickOnce non scarica tutti i file per la nuova versione dell'applicazione, a meno che i file non siano stati modificati. Confronta invece le firme hash dei file specificati nel manifesto dell'applicazione per l'applicazione corrente rispetto alle firme nel manifesto per la nuova versione. Se le firme di un file sono diverse, ClickOnce scarica la nuova versione. Se le firme corrispondono, il file non è cambiato da una versione a quella successiva. In questo caso, ClickOnce copia il file esistente e lo usa nella nuova versione dell'applicazione. Questo approccio impedisce a ClickOnce di dover scaricare nuovamente l'intera applicazione, anche se sono stati modificati solo uno o due file.

L'applicazione di patch ai file funziona anche per gli assembly scaricati su richiesta usando i DownloadFileGroup metodi e DownloadFileGroupAsync .

Nota

La ApplicationDeployment classe e le API nello System.Deployment.Application spazio dei nomi non sono supportate in .NET Core e .NET 5 e versioni successive. In .NET 7 è supportato un nuovo metodo di accesso alle proprietà di distribuzione dell'applicazione. Per altre informazioni, vedere Accedere alle proprietà di distribuzione ClickOnce in .NET. .NET 7 non supporta l'equivalente dei metodi ApplicationDeployment.

Se si usa Visual Studio per compilare l'applicazione, verranno generate nuove firme hash per tutti i file ogni volta che si ricompila l'intero progetto. In questo caso, tutti gli assembly verranno scaricati nel client, anche se solo alcuni assembly potrebbero essere stati modificati.

L'applicazione di patch ai file non funziona per i file contrassegnati come dati e archiviati nella directory dei dati. Questi vengono sempre scaricati indipendentemente dalla firma hash del file. Per altre informazioni sulla directory dei dati, vedere Accedere ai dati locali e remoti nelle applicazioni ClickOnce.