Actualización automática de un servicio de Windows [cerrado]

Estoy a punto de desarrollar un programa que se instalará y ejecutará como un Servicio de Windows en los servidores back-end (con acceso a Internet) de varios clientes. No tengo acceso físico a los servidores. Lo que estoy trabajando es un esquema para implementar actualizaciones del programa de manera confiable.

He pasado bastante tiempo buscando las mejores prácticas para las actualizaciones automáticas del Servicio de Windows, pero he encontrado muy poca información útil. La mayoría de las técnicas, como ClickOnce, parecen atender principalmente las aplicaciones basadas en Windows Forms.

Mi plan actual es:

Cuando haya actualizaciones disponibles, haga que el servicio en ejecución descargue, instale e inicie un servicio de actualización.El servicio de actualización descargará la nueva versión del servicio principal y la instalará una al lado de la versión actual, aún activa.Luego, el servicio de actualización detiene la versión anterior y luego inicia la nueva versión del servicio.La nueva versión desactiva el servicio de actualización durante el inicio.

Algunas preocupaciones importantes para mí son:

Ser capaz de manejar actualizaciones tanto del servicio principal como del servicio de actualización.Ser capaz de manejar interrupciones tales como fallas de alimentación o fallas de conexión en cualquier momento durante el proceso de actualización

Lo que me pregunto es si esta es una forma común de resolver este problema y / o si me falta algo crucial. ¿Es demasiado complicado, o quizás demasiado simplista? ¿Cómo lo habría hecho (o, mejor aún, cómo lo ha hecho con éxito)?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta