2010-12-01 16 views
9

Quiero un actualizador automático que detecte archivos modificados (comparando archivos del lado del cliente y un servidor) y solo descargo archivos modificados. También quiero que me dé su estado animado (para mostrarlo en una barra de proceso o algo así)Auto Patcher (Efficient Auto Updater)

El escenario es que hay aproximadamente mil clientes en una red que usan la misma aplicación. Si hay una nueva versión de la aplicación disponible, todos deben obtener la nueva versión. Pero, el ancho de banda es limitado, por lo que no es muy eficiente darles un instalador completo cada vez. (Lo que hacemos actualmente)

He buscado un poco, y encontré IcePatch2. Hace exactamente lo que quiero: obtener los archivos más nuevos del servidor cuando se ejecuta el parche. Pero el problema es que los clientes escribieron en C#, y no puedo usar IcePatch2 dentro de mi aplicación. (Tengo que ejecutarlo como un proceso separado, o escribir un COM o algo para interactuar con el IcePatch2Client)

Hasta ahora, la mejor solución que encontré es obtener .NET Application Updater Component y personalizarla para que se ajuste a mis necesidades. Pero prefiero una solución que no requiera dosis para mantener otra aplicación.

¿Alguna idea?

+0

Puede publicar el enlace, ahora) –

+0

Gracias! (^ L ^) Edito la pregunta. – Aidin

+0

La ejecución completa de un actualizador dentro de su aplicación no funciona bien. Windows bloquea los archivos de los programas en ejecución para que no puedan ser reemplazados. Entonces, o necesitas un parche externo o un iniciador que obtiene (casi) nunca parcheado. – CodesInChaos

Respuesta

3

Utilizamos wyBuild.

Produce parches binarios delta, incluso mejor que el nivel de archivo. También tiene un componente de actualización automática del cliente: wyUpdate.

1

Utilizamos AppLifeUpdate. Puede crear paquetes de actualización que contengan solo los archivos chinados. No estoy seguro de si tiene deltas binarios. Es un componente .NET y puede usar opcionalmente un servicio que usted instala para realizar actualizaciones de instalador elevadas (solo es realmente necesario para los cambios que afectan a todos los usuarios en un sistema).