ClickOnce in .NET 2005 (Part I)

En el modelo de los clientes inteligentes, proveemos a nuestros usuarios con una interfaz de usuario rica que contiene todas las ventajas que nos brinda el sistema operativo como plataforma (esto quiere decir, que podemos hacer uso de características como Drag & Drop, impresión mejorada, mejor uso de los recursos del sistema, etc.); sin embargo realizar el deployment es complicado, ya que se tiene que volver a distribuir el ejecutable (y sus dependencias) a cada una de las máquinas cliente. En ciertos escenarios, esto es complicado… ya que imaginate si tenemos una base de 10,000 usuarios, los cuales están dispersos por todo el mundo y no tienen muchos conocimientos técnicos para realizar una actualización de nuestra aplicación… esta tarea puede ser titánica.

Evolucionando de Updater Application Block llega una nueva tecnología en .NET 2.0 que se conoce como ClickOnce. Esta tecnología nos va a permitir tener nuestras aplicaciones en las últimas versiones de una manera automática sin intervención directa del usuario… algunos hemos visto algunas aplicaciones (tales como Norton SystemWorks o el mismo EMule) que permiten actualizarse de esta manera.

Ahora con Visual Studio NET 2005 viene incorporado dentro del IDE toda la funcionalidad para necesaria para utilizar esta tecnología de una manera rápida y sencilla. Veamos un simple ejemplo:

Creando un nuevo proyecto de ejemplo

Vamos a crear un proyecto de ejemplo en Visual Studio NET 2005. Sigamos los siguientes pasos:

  • Creamos una nueva aplicación de Windows Forms dentro de Visual Studio NET 2005 (File | New Project…) ya sea en Visual Basic o C#.
  • Escribimos el directorio donde lo queremos guardar (aqui por default nos pone Visual Studio Projects).
  • Y por último el nombre de nuestra aplicación.
  • Como es una aplicación de Windows Forms, la plantilla de proyecto nos da por default una forma que se llamará Form1, le ponemos el nombre a la propiedad (Text) como «My ClickOnce«.

Publicamos nuestra aplicación

Ahora lo que tenemos que hacer es permitir que nuestra aplicación resida en un sitio web para que podamos tener acceso a él en línea y fuera de línea. Hagamos los siguientes pasos:

  • Seleccionamos el comando (Project | MyClickOnce Properties)
  • Hacemos click en la pestaña de Publish.
  • En (Publish Location) escribimos un URL que nos permita tener la aplicación, en este caso escribiremos http://localhost/MyClickOnce.
  • Hacemos click en el botón (Options) y en la caja de diálogo escribimos lo siguiente:
    • Publisher name: Intellekt
    • Product name: MyClickOnce
    • Support URL: http://intellekt.ws/
    • Hacer clic en OK para cerrar y guardar los cambios
  • Del menú (Build | Build MyClickOnce) para compilar y construir la aplicación.
  • Del menú (Build | Publish MyClickOnce) para publicar la aplicación y le damos clic en (Finish) para guardarlo.
Publicamos nuestra aplicacion El menu de opciones

Instalando nuestra aplicación recién salida del horno

En la tarea anterior instalamos nuestra aplicación dentro un sitio web bajo el mecanismo conocido como «web-like pull» para lo cual los usuarios finales tendrán que venir a este servidor de publicación para poder instalar dicha aplicación. Vamos a realizar el ejercicio pensando en que nosotros somos el usuario final y vamos a instalar nuestra aplicación en la máquina del usuario:

  • Abrimos el Internet Explorer en la dirección donde guardamos la aplicación. Nota que ahora usamos el URL completo al directorio donde se encuentra el archivo: http://localhost/MyClickOnce/publish.htm
  • Dentro del botón hacemos clic en (Install) de la página.
  • Seguramente aparecerá un diálogo diciendo que la aplicación no es segura, esto es una advertencia de seguridad que evita que se instalen programas inseguros. Hacemos clic en el botón de (Install) y el procedimiento de instalación continuará exitosamente.
  • La forma que pusimos dentro de nuestra aplicación aparecerá después de haberlo instalado y eso nos confirma que nuestra aplicación está funcionando actualmente.
 

Verificando la instalación

Ya para terminar, veamos si la instalación de la aplicación fué exitosa; para lo cual revisaremos si existe dentro de nuestro (Start Menu) en la máquina.

  • Vamos a (Start | Programs).
  • Buscamos el programa (Intellekt | MyClickOnce).
  • Lo ejecutamos de nuevo para ver que funcione correctamente.

Hasta aqui hemos visto lo sencillo que es usar ClickOnce dentro de Visual Studio NET para hacer una aplicación con deployment sencillo y con un solo clic. En la siguiente parte veremos como se puede actualizar nuestra aplicación automáticamente y en la tercera veremos como añadir algunos métodos de seguridad adicionales a nuestros aplicativos.

Espero que esta breve intro a ClickOnce les haya servido de algo y cualquier duda o comentario estoy a sus órdenes.

Cheers!


Comentarios

Deja una respuesta