2010-01-23 15 views

Respuesta

9

Sugeriría una lectura del capítulo 4 de Microsoft. NET Applications Lifecycle Guide. Lo que yo promovería es conectar un sistema de Actualización Automática: puede escribir un sistema pequeño para contactar un servidor web de su propiedad, verificar si hay una actualización disponible, descargar e instalar el parche de actualización.

+0

+1 lo he hecho yo mismo en el pasado y es muy poco intrusivo. – davek

1

No soy un gran admirador de ClickOnce. Me gusta el concepto, pero no la implementación específica.

La forma en que he hecho un sistema de actualización de aplicaciones en el pasado es comprimir todos los archivos de la aplicación en un archivo contenedor y ponerlo en mi servidor web. Para facilitar las cosas, automaticé la creación del archivo contenedor. En el servidor web, tengo un archivo de información de versión que enumera la versión actual y la URL del contenedor como esta: 1.0.0.0|http://www.example.com/path/to/container.file. Para analizar el archivo de información de versión, todo lo que la aplicación necesita hacer es dividir el contenido del archivo utilizando el carácter de tubería '|'. El primer elemento de la matriz será el número de versión y el segundo elemento será la ruta del archivo contenedor.

Al inicio y en un intervalo regular como cada 2 días (en caso de que el usuario deje la aplicación ejecutándose durante un período prolongado), la aplicación verifica el archivo de información de versión en el servidor web y determina si la versión enumerada allí viene después de la versión en ejecución. Si hay una actualización, la aplicación solicita al usuario. Si el usuario desea la actualización, la aplicación descarga el contenedor de la url especificada en el archivo de información de versión y guarda el contenido en la carpeta de la aplicación, renombrando el archivo ejecutable actualmente en xxx.exe.old para permitir que el nuevo exe se guarde como xxx.exe. A continuación, la aplicación se reinicia y el nuevo exe elimina xxx.exe.old.

Cuando desee publicar una nueva versión de su aplicación, todo lo que necesita hacer es incrementar el número de versión de su aplicación, actualizar el archivo de información de versión con el nuevo número de versión y cargar un archivo contenedor actualizado en su sitio web servidor.

1

Preferiría no tener una aplicación haciendo actualizaciones silenciosas sin mi conocimiento.

De hecho, preferiría que me dijeran que se requiere una actualización, una actualización silenciosa sería percibida como maliciosa, ocultando algo al usuario y tomando el control de la máquina sin mi consentimiento. ¿Qué pasaría si la actualización silenciosa arrugó la máquina sin tener conocimiento de por qué la máquina 'aparece roto' debido a un cagado de registro, etc ...

Si bien es discutible ...

Mis 2cents

+5

Bueno, si le ha dado permiso a una aplicación para ejecutarse, ya le ha dado permiso para hacer algo malicioso. Y las actualizaciones siempre suponen un riesgo de atornillar su máquina; aún necesita asegurarse de que la actualización sea buena. El navegador Chrome de Google está haciendo actualizaciones silenciosas, que es lo que me llamó la atención sobre esto.Creo que se convertirá en una práctica aceptada. – greg7gkb

Cuestiones relacionadas