Creador de Reporte para Controladores HP en C# (HP Drivers Report Maker)

Introducción:

Debido a un proceso que quiero implementar en mi trabajo me vi en la necesidad de bajar todos los controladores esenciales de ciertos modelos de laptops HP (Alrededor de 100 modelos), para realizarles pruebas de hardware a esas unidades.

Este proceso es muy tardado y no tanto por el tiempo de descarga de cada controlador, sino por el hecho de estar entrando a cada link y presionar descargar.

Aparte también necesito hacer un reporte de cada modelo, donde venga información como: modelo, fecha, nombre de cada driver, links que utilice para descargarlos, etc.

Imagínense cuanto tiempo será requerido para obtener los links de descarga y copiar toda la información para realizar el reporte de cada modelo, si un modelo tiene alrededor de 10 a 20 controladores esenciales por 100 modelos: 20 * 100 = 2,000 drivers.

Razón por la cual sin dudarlo me anime a realizar un programa en C# que obtuviera toda esta información para realizar el reporte y a la vez me de los links para descargar los controladores, sin necesidad de que yo realice este tedioso proceso manualmente.

Objetivo:

Crear un programa en C# que realice lo siguiente:

Lea la información de controladores del modelo especifico de la página de HP (USA) y extraiga lo siguiente:

  • Modelo de la computadora
  • Link de descarga de cada controlador
  • Nombre de cada controlador
  • Dispositivos soportados por cada controlador
  • Compatibilidad de cada controlador
  • Sistemas operativos de cada controlador
  • Fecha de liberación de cada controlador
  • Versión de cada controlador
  • Nombre del archivo y tamaño de cada controlador

Crear una carpeta y dentro un archivo de reporte (archivo de texto), tanto la carpeta y el reporte tendrá el nombre que le daremos en modelo al programa.

El reporte debe contener y también respetar este orden:

Cabecera:

  • Creado por.
  • Programa que realizo el reporte con versión y fecha del mismo.
  • Pagina del programa.

Información principal:

  • Fecha y hora en que se creo el reporte.
  • Modelo que le dimos al programa.
  • Modelo extraído de la página de HP.
  • Link principal que se utilizo para extraer toda la información.
  • Cantidad de controladores o módulos (controladores y programas)
  • Lista de todos los links de los controladores (para copiarlos y bajarlos manualmente)

Información de cada controlador o modulo específicamente:

  • Numero del modulo (se enumeraran del uno en delante)
  • Link de la pagina del controlador.
  • Nombre del controlador.
  • Dispositivos soportados.
  • Compatibilidad.
  • Sistemas operativos.
  • Fecha de liberación.
  • Versión.
  • Nombre del archivo y tamaño.
  • Link de descarga.

Fin de reporte:

  • Algo que marque el fin del reporte.

Diseño:

Lo primero es definir el nombre del programa, como el titulo lo dice se llamara: “HP Drivers Report Maker v1.0b”.

Investigando la única manera que encontré para obtener la información de la pagina de HP es descargando el código HTML de cada pagina y extraer la información que se requiera haciendo búsquedas de texto especifico.

Las dos entradas que tendremos que darle al programa son:

  • El modelo de la computadora (Este dato se utilizara para crear el folder y el reporte).
  • El link maestro de los drivers del modelo.

Para obtener el link maestro lo hacemos manualmente de la siguiente manera:

  1. Entramos a la pagina de drivers de HP (USA) http://www8.hp.com/us/en/support-drivers.html y ponemos el modelo de la laptop que necesitamos los controladores, en mi caso yo los trabajo como “MODELO, PRODUCTO” y le damos clic en “SEARCH”:
  2. Una vez cargada la pagina de los controladores, seleccionamos el sistema operativo (Windows 7 x64 en mi caso) y le damos clic en “NEXT”, para que se cargue la lista de controladores.
  3. Una vez cargada la lista de controladores copiamos el link maestro de la barra de dirección, para este ejemplo es: http://h10025.www1.hp.com/ewfrf/wc/softwareCategory?os=4063&lc=en&cc=us&dlc=en&sw_lang=&product=5273906.

La primera información que obtendremos será del link maestro:

También debemos extraer la siguiente información de cada driver o modulo:

El diagrama de bloque del programa es el siguiente:

El Programa:

La aplicación es la siguiente:

Donde:

  • Model: Caja de texto donde pondremos el modelo, el cual se utilizara para crear la carpeta y el reporte.
  • Master Link: Caja de texto donde va el link maestro que obtuvimos manualmente de la página de HP.
  • Make Report: Botón que sirve para obtener la información y crear el reporte, pero solo lo mostrara en el rich text box.
  • Save Report: Botón que sirve para guardar el texto que se encuentra en el rich text box (Reporte anteriormente creado) a su archivo de reporte y también creara la carpeta.
  • Make And Save: Boton que sirve para crear y guardar el reporte automáticamente.
  • Clear: Botón que sirve para borrar el rich text box.
  • Last Report: Si se borro el rich text box con el botón Clear, se puede volver a mostrar el reporte utilizando este botón.
  • ABCD: Etiqueta que sirve para mostrar la información personal (versión, creado por, pagina web, etc).

Pruebas:

Prueba #1:

M6-1045DX, B5S08UAR.txt

Prueba #2:

CQ57-339WM, QE264UAR.txt

Prueba #3:

4-1015DX, B5T05UAR.txt

Posibles Mejoras:

  • Que acepte una lista de modelos y links maestros para crear los reportes automáticamente.
  • Obtener el link maestro y el resto de la información automáticamente con el modelo únicamente.
  • Que no se trabe la forma mientras se baja la información de la página de HP.
  • Que muestre alguna barra de progreso o tiempo mientras se baja la información y se procesa.
  • Que el mismo programa baje los controladores y los ponga en la carpeta del modelo.
  • Reducir la cantidad de drivers a bajar, revisando cuales ya se encuentran en el disco y descargando los nuevo únicamente.

Conclusiones:

A pesar de que se ve sencillo lo que debe hacer el programa, fue algo laborioso, me llevo alrededor de 8 horas terminarlo (incluyendo las pruebas y correcciones).

El programa tiene un inconveniente, si HP cambia algo en sus paginas (código HTML) puede que el programa funcione incorrectamente o simplemente deje de funcionar y se requiera una actualización, lo cual es algo critico, pero inevitable (lo bueno es que en mas de un año que he utilizado la pagina no he visto algún cambio).

Como conclusión estoy muy contento con el resultado, la cantidad de tiempo y trabajo que me reduce es enorme, aparte el reporte se ve excelente y esta estandarizado. Intentare integrarle las mejoras pero con más tranquilidad.

Referencias

Descargar (Download):

HP Report Maker v1.0b [11/08/12]

Si deseas el código fuente del proyecto contáctame al correo del sitio o comenta en la sección de abajo.

Galería

One Response to Creador de Reporte para Controladores HP en C# (HP Drivers Report Maker)

  1. If some one desires expert view about running
    a blog after that i advise him/her to pay a visit this weblog, Keep up the pleasant job.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: