Compartir a través de


Cómo realiza ClickOnce las actualizaciones de aplicaciones

ClickOnce usa la información de versión de archivo especificada en el manifiesto de implementación de una aplicación para decidir si se van a actualizar los archivos de la aplicación. Una vez iniciada una actualización, ClickOnce usa una técnica denominada parcheo de archivos para evitar descargar de manera redundante los archivos de aplicación.

Parcheo de 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 su lugar, compara las firmas hash de los archivos especificados en el manifiesto de aplicación para 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.

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

Nota:

La ApplicationDeployment clase y las API del System.Deployment.Application espacio de nombres no se admiten en .NET Core y .NET 5 ni en 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 Access ClickOnce deployment properties in .NET (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.

El parcheo de archivos no funciona para los archivos cuando están marcados como datos y ubicados en el directorio de datos. Siempre se descargan independientemente de la firma hash del archivo. Para obtener más información sobre el directorio de datos, consulte Acceso a datos locales y remotos en aplicaciones ClickOnce.