2008-10-15 8 views
13

¿Cuáles son algunas buenas soluciones para el manejo automático de actualizaciones de software basadas en web para proyectos de formularios de Windows? Estoy al tanto de Microsoft con un solo clic, pero no estoy interesado en esto en este momento.actualizaciones automáticas de software de Windows

+2

¿Se puede compartir por qué ClickOnce no va a funcionar para usted? La herramienta es lo suficientemente buena como para que le cueste encontrar algo que compita con ella –

Respuesta

1

realmente depende de la complejidad de un proceso de actualización.

He tenido algunos clientes con necesidades simples donde creamos nuestra propia configuración de proceso que lo manejó, en aproximadamente 3 horas de desarrollo tenemos una solución totalmente funcional que satisface todas sus necesidades.

1

Microsoft con un solo clic? ¿Te refieres a ClickOnce? Haga clic una vez para ganar formulario es muy agradable. La implementación es rápida y todo el proceso de actualización se maneja solo.

0

pero ClickOnce es lo mejor que puede tener y puede seleccionar si los usuarios tienen que descargar la nueva versión, utilizan los antiguos, volver versiones, etc ...

siempre se puede construir su propia solución, compruebe el número de versión de un archivo de configuración XML en alguna dirección web, si es más nuevo que el actual, modifique el usuario para descargar la nueva versión, por ejemplo ...

15

ClickOnce es bueno para cortadores de galletas, pero tiene algunos limitaciones en cuanto a la seguridad (es decir, no se puede crear un icono de escritorio, no se puede acceder a COM, etc.)

Suponiendo que usted está usi ng MSI para instalar su aplicación. Use WIX (http://wix.sourceforge.net/) para crear un parche (.msp). Deberá consultar Parches de Cuenta de Usuario con Privilegios Menos Próximos (LUA) para Vista, ya que UAC lo atormentará si no lo hace.

Luego, su aplicación hace la siguiente manera:

  1. Compruebe si hay una nueva versión a través de HTTP
  2. Descargar el MSP (tenga cuidado de donde DL que en Vista debido a UAC)
  3. Iniciar una exe cuña que
  4. espera a que su aplicación para cerrar
  5. lanza el MSP (en modo no interactivo)
  6. reinicia su aplicación

Todo esto puede suceder automáticamente detrás de escena con cero interacción del usuario tanto en XP como en Vista.

Un buen lugar para comenzar con esto, y con WIX en general es:

http://www.tramontana.co.hu/wix/index.php (Lección 4 está en Actualizaciones)

+1

Puedo crear el icono de escritorio con ClickOnce .... –

+0

no sin hackear no puede (si la aplicación se desinstala, no se elimina) –

0

También he oído que llamó clicktwice: +> El WIX la solución es más de lo que me interesaba. ¿Hay alguna aplicación de muestra (con fuente) para usar esta técnica?

+0

Edité mi respuesta para incluir un enlace a los tutoriales. –

+0

Construir un sistema como este no es una empresa pequeña. Lo he hecho, pero nunca he encontrado un tutorial completo. –

5

Para no ser demasiado spam, pero nuestra empresa ofrece una solución de actualización automática.Se presenta en 3 partes:

wyUpdate maneja todo el Vista/Windows 7 Problemas de UAC y todos los problemas de permisos de archivos que inevitablemente surgen cuando intentas actualizar un software complejo.

3

Escribimos la nuestra al mismo tiempo ... Esa no era una buena idea. En muchos casos, puede usar ClickOnce. De hecho, usamos un producto llamado AutoUpdate+ que podemos recomendar. Su característica particularmente especial es que puede evitar problemas emergentes de UAC.

0

Aquí hay una solución de código abierto que escribí para abordar las necesidades específicas que teníamos para las aplicaciones WinForms y WPF. La idea general es tener la mayor flexibilidad, a la menor sobrecarga posible.

Por lo tanto, integración es muy fácil, y la biblioteca hace prácticamente todo por usted, incluidas las operaciones de sincronización. También es altamente flexible, y le permite determinar qué tareas ejecutar y en qué condiciones: usted crea las reglas (o usa algunas que ya existen). Por último, no menos importante es el soporte para cualquier fuente de actualizaciones (web, BitTorrent, etc.) y cualquier formato de alimentación ; lo que no esté implementado, puede simplemente escribirlo usted mismo.

Las actualizaciones en frío (que requieren el reinicio de una aplicación) también se admiten y se realizan automáticamente a menos que se especifique "intercambio en caliente" para la tarea.

Este archivo corresponde a una DLL, con un tamaño inferior a 70 kb.

Más detalles en http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

Código está en http://github.com/synhershko/NAppUpdate (Licenciado bajo la licencia Apache 2.0)

Cuestiones relacionadas