Saltar al contenido principal

Cambio de Canales

Applies to
Windows
MacOS
Linux

Por defecto, UpdateManager intentará buscar versiones en el mismo canal para el que fue compilado. Puedes leer más sobre los canales de empaquetado aquí. Por lo tanto, normalmente no deberías proporcionar ningún canal al constructor de UpdateManager.

Si nunca se especificó un canal (ni en el momento del empaquetado ni a través de ExplicitChannel), UpdateManager recurre a un canal predeterminado con el nombre abreviado del sistema operativo actual (por ejemplo, win, osx o linux). Esto coincide con el canal predeterminado que vpk pack usa cuando no se pasa --channel.

Sin embargo, de vez en cuando puede ser útil permitir que un usuario cambie de canal sin reinstalar la aplicación. Por ejemplo, un usuario decide activar las funciones "beta" a través de la configuración de tu aplicación. En ese caso, puedes proporcionar el canal de forma explícita:

new UpdateManager("https://the.place/you-host/updates", new UpdateOptions {
ExplicitChannel = "beta"
});

Además, por defecto, el UpdateManager solo actualizará a versiones más recientes que la versión actual, lo que puede llevar a un comportamiento subóptimo porque a menudo puedes estar cambiando a una versión inferior a la versión actual. Imagina el siguiente escenario:

  • Publicas la versión 2.0.0 en el canal stable.
  • Publicas las versiones 2.0.1 a 2.0.5 en el canal beta.
  • Tu usuario instala la versión 2.0.0 stable y luego activa beta a través de la configuración.
  • Tu usuario puede actualizar de 2.0.0 -> 2.0.5 sin problemas, porque 2.0.5 es una versión más reciente.
  • Tu usuario encuentra un error y desactiva beta a través de la configuración.
  • Por defecto, UpdateManager no instalará la versión stable 2.0.0 porque es una versión inferior a 2.0.5.

Por esta razón, al cambiar de canal se recomienda usar la opción ExplicitChannel junto con la opción AllowVersionDowngrade. Por ejemplo:

new UpdateManager("https://the.place/you-host/updates", new UpdateOptions {
ExplicitChannel = "beta",
AllowVersionDowngrade = true,
});

Cuando AllowVersionDowngrade está habilitado, el comportamiento de aplicación automática al inicio no aplicará la versión inferior o igual por ti, por lo que debes llamar a un método de aplicación explícito. Consulta Apuntar a una versión específica para obtener todos los detalles.