Cómo ClickOnce realiza actualizaciones de aplicaciones

ClickOnce usa la información sobre la versión del archivo especificada en el manifiesto de implementación de una aplicación para decidir si actualiza los archivos de la aplicación. Una vez que se inicia una actualización, ClickOnce usa una técnica denominada aplicación de revisiones en archivos para evitar la descarga redundante de archivos de aplicación.

Aplicación de revisiones en archivos

Al actualizar una aplicación, ClickOnce no descarga todos los archivos de la nueva versión de la aplicación a menos que los archivos hayan cambiado. En vez de eso, compara las firmas hash de los archivos especificados en el manifiesto de aplicación de la aplicación actual con las firmas del manifiesto de la nueva versión. Si las firmas de un archivo son diferentes, ClickOnce descarga la nueva versión. Si las firmas coinciden, el archivo no ha cambiado de una versión a la siguiente. En este caso, ClickOnce copia el archivo existente y lo usa en la nueva versión de la aplicación. Este enfoque impide que ClickOnce tenga que volver a descargar toda la aplicación, incluso si solo han cambiado uno o dos archivos.

La aplicación de revisiones de archivos también funciona para ensamblados que se descargan a petición mediante los métodos DownloadFileGroup y DownloadFileGroupAsync.

Nota

La clase ApplicationDeployment y las API del espacio de nombres System.Deployment.Application no se admiten en .NET Core y .NET 5 y versiones posteriores. En .NET 7 se admite un nuevo método de acceso a las propiedades de implementación de aplicaciones. Para obtener más información, consulte Acceso a las propiedades de implementación de ClickOnce en .NET. .NET 7 no admite el equivalente de los métodos ApplicationDeployment.

Si usa Visual Studio para compilar la aplicación, generará nuevas firmas hash para todos los archivos cada vez que recompile todo el proyecto. En este caso, todos los ensamblados se descargarán en el cliente, aunque solo algunos ensamblados pueden haber cambiado.

La aplicación de revisiones en archivos no funciona con los archivos marcados como datos y almacenados en el directorio de datos. Estos siempre se descargan independientemente de la firma hash del archivo. Para más información sobre el directorio de datos, consulte Acceso a datos locales y remotos en aplicaciones ClickOnce.