Partilhar via


Como o ClickOnce executa atualizações de aplicativos

ClickOnce usa as informações de versão do arquivo especificadas no manifesto de implantação de um aplicativo para decidir se deseja atualizar os arquivos do aplicativo. Após uma atualização começar, o ClickOnce utiliza uma técnica chamada correção de ficheiro para evitar o download redundante de ficheiros de aplicações.

Aplicação de patches em ficheiros

Ao atualizar um aplicativo, ClickOnce não baixa todos os arquivos para a nova versão do aplicativo, a menos que os arquivos tenham sido alterados. Em vez disso, ele compara as assinaturas de hash dos arquivos especificados no manifesto do aplicativo atual com as assinaturas no manifesto da nova versão. Se as assinaturas de um ficheiro forem diferentes, o ClickOnce transfere a nova versão. Se as assinaturas corresponderem, o arquivo não foi alterado de uma versão para outra. Nesse caso, ClickOnce copia o arquivo existente e usa-o na nova versão do aplicativo. Essa abordagem evita que o ClickOnce tenha que baixar o aplicativo inteiro novamente, mesmo que apenas um ou dois arquivos tenham sido alterados.

A correção de arquivo também funciona para assemblies que são baixados sob demanda usando os métodos DownloadFileGroup e DownloadFileGroupAsync.

Observação

A classe ApplicationDeployment e as APIs no namespace System.Deployment.Application não são suportadas no .NET Core e no .NET 5 e versões posteriores. No .NET 7, um novo método de acessar propriedades de implantação de aplicativo é suportado. Para obter mais informações, consulte Acessar propriedades de implantação do ClickOnce no .NET. O .NET 7 não suporta o equivalente aos métodos ApplicationDeployment.

Se você usar o Visual Studio para compilar seu aplicativo, ele gerará novas assinaturas de hash para todos os arquivos sempre que você reconstruir o projeto inteiro. Nesse caso, todos os assemblies serão descarregados para o cliente, embora apenas alguns possam ter sido alterados.

A aplicação de patches em arquivos não funciona para arquivos marcados como dados e armazenados no diretório de dados. Eles são sempre baixados, independentemente da assinatura hash do arquivo. Para obter mais informações sobre o diretório de dados, consulte Acessar dados locais e remotos em aplicativos ClickOnce.