autoupdater de una aplicación .net

NeB1

Buenas a todos, tengo una aplicación hecha en c#, y ahora tengo problemas en hacer un control que actualice de internet si existe una nueva versión. El problema viene al sobreescribir los ejecutables y las dll que están en uso, hace caso omiso (lo curioso es que no me saca un error.

Supongo que habrán métodos ya hechos y más profesionales para esta plataforma, agradecería cualquier aporte. Solo he encontrado datos de como hacerlo con ClickOnce (de forma hiper sencilla :( ), el problema es que mi aplicación, en el manifiesto pone requireAdministrador (necesita permisos de administrador) y clickOnce no permite este nivel de permisos.

os dejo el código de mi updater V1.0

spoiler

El Script en cuestión descarga un archivo de internet llamado manifest.xml, donde he guardado la versión, y todos los archivos a ser descargados.

Tras esto, el script, hace una petición de descarga de un archivo, a un script llamado 'download.php' donde compruebo si el usuario tiene permiso para otra actualización, y le devuelvo el archivo que se ha pedido.

NeB1

Viendo que no he recibido contestaciones, comento un poco lo que al final he conseguido por si en algún futuro a alguien le sirve de algo.

Como he comentado mi aplicación es .net, pero no admite click once por ciertas particularidades (en click once, hacer un 'self updater' es muy sencillo), con lo que he recurrido a tecnicas mas viejunas.

Comencé con el updater application block v2.0 haciendo uso de algunos scripts incluidos en el microsoft patterns & designs, y al final encontré un proyecto de código abierto en c# muy interesante NAppUpdater cuya arquitectura es muy similar a la propuesta en el updater application block pero solucionaba algunos problemas que yo tenía con el anterior y con este me he quedado, y de momento problemas 0.

Usuarios habituales

  • NeB1