Las mejores prácticas para escribir un servicio de Windows de actualización automática

Necesitamos crear un servicio de Windows que tenga la capacidad de auto actualizarse.

Tres opciones vienen a la mente,

un segundo servicio que gestiona la recuperación, desinstalación e instalación del primer servicio.

Uso de un marco de terceros (las sugerencias son bienvenidas. Creo que .NET es compatible con la actualización automática de las aplicaciones de formularios de Windows, pero no los servicios de Windows)

Uso de un modelo de complemento, en el que el servicio es simplemente un shell que contiene la lógica de actualización y ejecución, y la lógica de negocios del servicio está contenida en una DLL que se puede intercambiar.

¿Alguien puede arrojar algo de luz sobre la solución a este problema?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta