Este artículo analiza los ejemplos utilizando el método C # para lograr actualizaciones automáticas de software, es una característica muy útil, vale la pena el aprendizaje y referencia. De la siguiente manera:
1. Descripción general de los temas:
Durante mucho tiempo, la mayoría de los programadores en la final es utilizar el Cliente / Servidor, o utilizar la arquitectura de debate navegador / servidor, en el que estos argumentos, el programa de mantenimiento de c / s diferencia estructura, las dificultades de diseño, mejorar los costes de mantenimiento conveniente, alta es una factor muy importante. Hay muchos usuarios corporativos es por esta razón por renunciar al uso de C / S. Sin embargo, cuando una aplicación debe utilizar la estructura C / S para lograr así su función, ¿cómo resolvemos la implementación del cliente y la escalada automática? La implementación es muy simple, basta con hacer clic en el instalador, la dificultad es que cada vez que se libera una nueva versión, la actualización automática. Ahora bien, nuestro objetivo es simple, queremos tener nada que ver con el desarrollo de una aplicación específica actualiza automáticamente el sistema puede volver a utilizar. Ahora I proporciona un sistema de actualización automática escrito en C # es un conjunto de reutilizable para todos.
2. La dificultad para actualizar automáticamente la aplicación de software existente
En primer lugar, con el fin de encontrar las actualizaciones en un servidor remoto, la aplicación debe tener una manera de solicitar información al servidor, lo que requiere la programación de red, aplicación sencilla y protocolo de servidor de comunicaciones.
La segunda es la de descarga. Descargar las miradas no tienen que considerar el tema de la red, pero deben considerar la descarga del archivo solicitado por el usuario, y descargar archivos de gran tamaño sin el consentimiento del usuario. Amistoso actualizar automáticamente la aplicación va a utilizar el ancho de banda restante para descargar la actualización. Suena simple, pero es un problema técnico, por suerte, tenemos una solución.
Una tercera consideración es el uso de la nueva aplicación para reemplazar el proceso de solicitud original. La pregunta más interesante, ya que requiere el código para ejecutar retirarse del sistema, hay varias maneras de lograr esta función [5], este programa es implementado para reemplazar la función de importante nueva versión de la aplicación mediante la comparación de las viejas y nuevas versiones del número de fecha.
3. El principio de las actualizaciones automáticas de software en línea
Escribir dos programas, uno es el programa principal; actualización de un programa; todas las tareas de actualización son manejados por el proceso de actualización se ha completado.
. ① iniciar el programa de actualización, se conecta el programa de actualización en el sitio web, descargar el nuevo programa principal (por supuesto también incluye archivos de la biblioteca de soporte, archivos de configuración XML, etc.) en una carpeta temporal;
. ② actualizar para obtener el archivo de configuración XML en el servidor de la nueva versión del programa el número actualizado de versión o fecha o tamaño de archivo;
③ actualizar las aplicaciones de cliente existentes para obtener la fecha de actualización más reciente o número de versión o tamaño de archivo, comparar los dos; Si encuentra que el proceso de actualización es mayor que la fecha original de la última versión del programa fecha, si se solicita al usuario a actualizar, o está utilizando el comparar las versiones existentes con la versión más reciente, el último descubrimiento de si se le pide al usuario actualizar, sino que también se compara con otros atributos tales como tamaño del archivo, programa de actualización tamaño del archivo encontró más grande que la versión antigua el tamaño del programa, el usuario tiene que actualizar. En este trabajo se compara el uso de viejas y nuevas versiones actualizadas número para indicar al usuario actualizar.
. ④ Si decide actualizar, se llega a descargar la lista de archivos para iniciar la documentación del lote descarga;
. ⑤ detecta programa de actualización si la antigua actividad, si la vieja actividad principal está cerrado;
. ⑥ Retire el programa principal, la copia temporal archivo en la carpeta a la ubicación adecuada;
. ⑦ comprobar el estado del programa principal, cuando el estado es activo, se inicia un nuevo programa principal;
⑧ actualización cerrada, la actualización se ha completado.
4. Implementar actualizaciones en línea de los pasos clave con C #
Aquí, he utilizado principalmente información actualizada para detectar la necesidad de descargar la versión de actualización.
①. Preparar un archivo de configuración XML
Nombre AutoUpdater.xml, funciona como una plantilla con la actualización, necesidad de información de visualización se va a actualizar.
Nombre AutoUpdater.xml, funciona como una plantilla con la actualización, necesidad de información de visualización se va a actualizar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 |
|
// xml version
// URL del servidor de archivo de actualización
// Actualización de actualización Fecha de archivo
número // versión del archivo de actualización
// actualizar la lista de archivos
// Hay tres documentos necesitan actualizar
// permitido reiniciar la aplicación
// aperturas el nombre de la aplicación
Del documento XML anterior que se puede actualizar documento actualizado donde la dirección del servidor, actualizar el documento, una lista de archivos necesita ser actualizado, en el que un total de tres documentos a ser actualizado: aa.txt, VB40.rar, VB4-1.CAB. Y si se debe permitir el reinicio de la aplicación y reiniciar el nombre de la aplicación.
②. Obtiene la aplicación cliente y el programa de actualización del lado del servidor última fecha de actualización
función disponible () es implementado por GetTheLastUpdateTime.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 |
|
Abierta a través de documento XML XMLTextReader, leer el tiempo de actualización a fin de obtener la fecha valor correspondiente, que es la última actualización del servidor de tiempo de actualización de archivos.
Las llamadas a funciones para lograr:
1 2 3 4 5 6 |
|
③. Comparar Fecha
La aplicación cliente y la fecha de actualización del programa del lado del servidor última actualización Última actualización de las comparaciones de fechas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 |
|
La aplicación fecha y del lado del servidor de actualización de un cliente para descargar la fecha de la solicitud, y si el primero es mayor que el segundo, no se actualiza, si el primero es menor que el segundo, a continuación, obtener una lista de los archivos de descarga a través de una matriz dinámica, iniciar la descarga del archivo.
() Es implementado por BatchDownload. Detecta programa de actualización si la antigua actividad, si la vieja actividad principal es cerrada; quite el viejo programa principal, copiar archivos en la carpeta temporal a la ubicación adecuada, comprobar el estado del programa principal, si el estado está activo, iniciar un nuevo programa principal.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|