Hooks de la Aplicación
Los hooks permiten que su aplicación ejecute lógica en varias etapas del proceso de instalación/actualización/desinstalación.
En general, no se recomienda manejar los hooks manualmente; en su lugar, prefiera las opciones disponibles de VelopackApp.
Si desea manejarlos usted mismo, no existe un SDK para su lenguaje, o simplemente quiere saber más al respecto, continúe leyendo.
Los mecanismos de argumento de línea de comandos y variables de entorno descritos a continuación son multiplataforma. El constructor VelopackApp de C# también ofrece métodos "FastCallback" de conveniencia (OnAfterInstallFastCallback, OnAfterUpdateFastCallback, OnBeforeUpdateFastCallback, OnBeforeUninstallFastCallback) que envuelven estos hooks — pero estos son solo para Windows y no tienen efecto en macOS y Linux.
Hooks de línea de comandos
En varias etapas del proceso de instalación/actualización/desinstalación, Velopack ejecutará su ejecutable principal (el especificado al empaquetar con --mainExe {exeName}) con ciertos argumentos de CLI y esperará que su aplicación salga lo más rápido posible.
--veloapp-install {version}Ocurre después de que el programa ha sido extraído, pero antes de que la instalación haya finalizado. La aplicación debe manejarlo y salir en un plazo de 30 segundos.--veloapp-obsolete {version}Se ejecuta en la versión anterior de la aplicación, antes de que se aplique una actualización. La aplicación debe manejarlo y salir en un plazo de 15 segundos.--veloapp-updated {version}Se ejecuta en la nueva versión de la aplicación, después de que se aplica una actualización. La aplicación debe manejarlo y salir en un plazo de 15 segundos.--veloapp-uninstall {version}Se ejecuta antes de que tenga lugar una desinstalación. La aplicación debe manejarlo y salir en un plazo de 30 segundos.
Por el momento, no hay forma de proporcionar retroalimentación durante los hooks para indicar que desea cancelar la instalación/desinstalación/actualización, etc., y no puede mostrar ninguna interfaz de usuario al usuario.
Si su aplicación recibe uno de estos argumentos y no sale en el tiempo asignado, será terminada.
Hooks de variables de entorno
También hay dos variables de entorno que se establecen; si se detectan, su aplicación no necesita salir.
VELOPACK_FIRSTRUNes verdadera si esta es la primera ejecución después de que la aplicación fue instalada.VELOPACK_RESTARTes verdadera si la aplicación fue reiniciada por Velopack (generalmente porque se aplicó una actualización).
En C#, no necesita leer estas variables directamente. VelopackApp.Build().OnFirstRun(...) se activa cuando VELOPACK_FIRSTRUN está establecida, y VelopackApp.Build().OnRestarted(...) se activa cuando VELOPACK_RESTART está establecida. A diferencia de los hooks FastCallback mencionados anteriormente, estos se ejecutan durante un inicio normal y su aplicación continúa ejecutándose después.
Para el conjunto completo de variables de entorno de Velopack, consulte Depuración.