Configurar máquinas para llamar a casa para actualizaciones de software

Tengo un producto de hardware que incluye una PC de Windows, que tiene dos componentes de software que nos gustaría actualizar ocasionalmente. Uno se instala a través de un instalador de WiX MSI con un número de versión, el otro es un checkout de SVN (no puedo alterar ninguno de estos enfoques).

Tenemos varias de estas máquinas, tanto en la fábrica como con clientes. Es posible que desee actualizar la installation en un subset de máquinas para probar antes de implementarla en todas, por ejemplo, las versiones requeridas pueden ser:

Máquina | Revisión de SVN | Versión MSI

001 | 6000 | 1.0.4

002 | 6000 | 1.0.4

003 | 6250 | 1.0.5

004 | 6250 | 1.0.5

005 | 6500 | 1.0.6

Mi idea

Estoy tratando de encontrar una forma confiable de actualizar el software y, de momento, tengo la idea de tener una página web públicamente accesible que contenga los datos anteriores. Cada máquina tendría un service en funcionamiento que verificaría periódicamente el website, y su propia línea, comparando los valores SVN y MSI con los que están actualmente en la máquina, luego, si corresponde:

a) actualice la carpeta SVN-linked a la revisión especificada

b) descargue y ejecute el instalador de MSI correspondiente (que puede include actualizaciones del service de actualización)

Por supuesto, solo porque esa es la primera idea que tuve, no es la mejor, ni siquiera buena, así que pensé en preguntarle cómo podría enfocar esto de una manera fiable y con gracia.

¿Alguna idea?

La forma en que normalmente se ejecutan las aplicaciones automáticas de actualización es que usted proporciona un service web (no una página web). Su aplicación que se ejecuta en el sistema cliente llama periódicamente al service web pasando el Código de producto, Código de actualización, Versión del producto de la configuration de MSI. El website mantiene un set de datos que le dice a la persona que llama si hay un parche, una actualización menor o una actualización completa disponible (¡hay al less tres forms de actualizar un producto!). Luego, la aplicación descarga el MSI y (dependiendo de la situación de la IU) le pregunta si instalarlo o no. Si cada sistema tiene solo usuarios limitados, probablemente no puedan instalarlo. Si el sitio tiene un mecanismo de distribución central, entonces la sugerencia de alroc es el mejor centro de sistema de un solo uso, política de grupo, mecanismos de tipo Directorio Activo para enviar la actualización a cada sistema.

En su caso de testing, las máquinas beta candidatas pueden marcarse con una designación "beta", como un elemento de logging, y cuando la aplicación llama al service web puede decir que es un comprobador beta y get versiones anteriores de la configuration.

Tener un service llamar a un service web y download una installation puede tener sus problemas, especialmente si se ejecuta con la count del sistema, por lo que tenerlo en la aplicación en ejecución podría ser más seguro.

Todo eso podría ser excesivo si solo quieres una página web simple para que la vean las personas. Solo tenga cuidado de download la MSI actualizada en una location permanente segura real y no en la carpeta temporal del browser donde se eliminará.

De todos modos, espero que haya algunas ideas útiles allí.