Publicado el 27/Oct/2005
|
Aquí te voy a explicar cómo funciona esto del ClickOnce, (o Click Once) al menos desde el punto de vista de las aplicaciones accesibles desde un sitio Web.
Introducción
Como seguramente ya sabrás, ClickOnce permite instalar una aplicación desde cualquier sitio, incluso desde un sitio Web.
La "gracia" de este sistema de instalación es que cuando se ejecute la aplicación instalada con ClickOnce, la aplicación buscará nuevas actualizaciones de forma automática, y si la hubiera, te preguntará si la quieres instalar.También se encargará de instalar los requisitos que esa aplicación necesite, por tanto, si nunca has trabajado con una aplicación que use el .NET Framework 2.0, éste se instalará en tu máquina.
Debes saber, que en la fecha que publico esta página, (27 de Octubre de 2005), ya está la versión definitiva de .NET Framework 2.0, por tanto, lo que se instalará usando los ejemplos que he puesto, NO será una beta, sino la versión final.
Y para empezar, la primera aplicación de consola que he hecho con el Visual Basic 2005 Express, osea que está recién salida del horno ;-)
¿Cómo funciona el ClickOnce?
Cuando pulses en el link, te mostrará una ventana como esta, en la que, además de la información de la aplicación, también te indicará los requisitos que no tienes instalado para que funcione, en este ejemplo solo el runtime de .NET Framework 2.0, tal como vemos en la figura 1:
Figura 1. La página de instalación de la aplicación
Cuando pulses en Install, te preguntará que quieres hacer, si bajar el ejecutable o ejecutarlo directamente, puedes hacer las dos cosas, ya que siempre lo bajará primero. Pero si decides indicar que lo guarde, tendrás que ejecutarlo y después de las advertencias del Windows XP con SP2 (si es que tienes ese sistema operativo), te pedirá que aceptes el contrato de licencia y esas cosas que siempre piden los programas.
Y una vez aceptado, empezará a bajar los requisitos necesarios:
Figura 2. Bajando los ficheros necesarios para la aplicaciónEn este caso, bajará solamente el .NET Framework 2.0, y empezará la instalación, primero del .NET Framework 2.0 (si es que no lo tienes instalado):
Figura 3. Si no tienes el .NET Framework 2.0, se instalaráLa ventaja del .NET Framework, es que no te pide que reinicies el equipo, al menos a mi no me lo ha pedido. Yo tengo el Windows XP Professional con Service Pack 2 y todas las actualizaciones habidas y por haber... o casi.
De todas formas, siempre es conveniente de que lo reinicies después de que se instale el .NET 2.0.
Por curiosidad, si tu equipo es lento, puede que el mensaje que te muestre mientras se instala el .NET 2.0 sea como esta, que está capturada de un portátil de 850 mhz con 256 MB de RAM:
Figura 3b. La instalación de .NET Framework 2.0 en un equipo "bajo" en recursos
Después de instalar el .NET Framework, empezará la instalación de la aplicación en sí.
¿Problemas?
Sí, al menos cuando recién publiqué esto, tal como podemos ver en la figura 4:
Figura 4. Error al intentar instalar desde un servidor que tiene ciertas extensiones restringidasEl problema es que mi servidor de Internet (donde está elguille.info) no reconoce la extensión .application, y es que resulta que esa es la extensión que tienen los ficheros de configuración que usa el ClickOnce, por tanto, hasta que no le digan al Windows 2003 que tienen la gente del "hosting" que acepte esa extensión, pues dirá que no existe... ¡aunque exista!
Ahora mismo voy a "dar el parte de incidencias" para que la activen... a ver que dicen, por tanto, es posible que cuando pruebes esto, ya esté operativo.
Respuesta de la gente del servidor
Según me dicen, resulta que no se puede instalar desde la Web porque aún no tienen instalado el .NET 2.0 RTM en el servidor, pero en cuanto lo tengan, ya se podrán bajar los ejemplos. Como te dije ayer, si usas algunos de los links, por lo menos te podrás instalar el .NET Framework 2.0.
La solución
Realmente no es necesario tener el .NET Framework 2.0 instalado en el server.
Examinando el mensaje de error al intentar instalar, vi que una de las extensiones era .manifest, además de que al .exe le agregaba también una extensión: .deploy, (seguramente para permitir que se descargue sin que diera una alerta de seguridad), pero esa extensión que se le añade al ejecutable se puede "controlar" desde las opciones de ClickOnce, bueno, realmente no es que se pueda controlar, sino que se puede indicar que no la añada.
Al grano... ¿la solución? dar permisos también a los ficheros con extensión .manifest (además de .application), para que sean accedidos desde el sitio Web. Y de esa forma, pues todo funciona a las mil maravillas, tal como podemos ver en las capturas que siguen.
Volviendo a la normalidad
Una vez resueltos los problemas de configuración del servidor, y que también hemos indicado en las opciones de la ficha de "publicación" que no use la extensión .deploy, tal como podemos ver en la figura 5, todo irá como es de esperar.
Figura 5. ClickOnce puede agregar una extensión al ejecutable publicado
Como te decía, después de que se hayan instalados los requisitos, (en nuestro ejemplo sólo el runtime del .NET Framework 2.0), seguiremos con la instalación.
Figura 6. Verificación de los requisitos de la aplicación
Una vez comprobado que todo está bien en nuestra máquina, nos preguntará si queremos instalar la aplicación, ver figura 7, le diremos que sí, que se fíe de ella.
Figura 7. Aviso de seguridad al instalar la aplicación
Tal como vemos en la figura 8, empezará el proceso de instalación, bajándose el ejecutable, en estos casos, desde mi sitio.
Figura 8. Instalando la aplicación
Y cuando haya terminado, se ejecutará, tal como vemos en la figura 9.
Figura 9. La aplicación de consola en plena ejecución
Y eso es todo... o casi...
Ya que cada vez que ejecutes la aplicación, comprobará si hay alguna nueva versión, de ser así, te preguntará si la quieres instalar.
Para volver a acceder a la aplicación, lo puedes hacer desde el menú de programas de Inicio, tal como se muestra en la figura 10.
Figura 10. Se incluyen accesos en el menú de programas
Si quieres desinstalar la aplicación, pues como cualquier otra aplicación de Windows, te vas al Panel de control, Agregar o quitar programas, buscas la aplicación por el nombre mostrado en el menú (ver figura 10), y te preguntará que es lo que quieres hacer, tal como vemos en la figura 11:
Figura 11. Desinstalar una aplicación instalada con ClickOnce
Si pulsas en el botón "More Information..." te llevará a la página que le hayas indicado en las opciones de ClickOnce, (ver figura 5).
Comprobar nuevas versiones
Cada vez que ejecutes la aplicación comprobará si hay una nueva versión, y en caso de que así sea, te preguntará si la quieres instalar, tal como podemos comprobar en la figura 12.
Figura 12. Aviso de que hay una nueva versión de la aplicación
Si le dices que OK, pues la bajará, la instalará (figura 13) y la ejecutará (figura 14).
Figura 13. Actualización de la aplicación
Figura 14. La nueva versión en funcionamiento
En este caso, la "posible" nueva versión la he puesto diferente, para que se "note" de que realmente es otra. Además de que, como puedes comprobar, la clase Console ahora admite que se pueda indicar cosas como el color de la fuente, el tamaño de la ventana, el título a mostrar y muchas cosas más... ¡como casi todo lo que .NET 2.0 incluye!
¿Y si no me gusta la nueva versión?
Pues nada... la desinstalas, pero, y esto es lo bueno de ClickOnce, te permite volver a la versión anterior.
Esto lo haremos desde Agregar o quitar programas, pero en este caso (cuando hay actualizaciones), además de darte la oportunidad de desinstalar completamente la aplicación, también te dirá si quieres volver a la versión anterior, tal como vemos en la figura 15:
Figura 15. Desinstalar o volver a la versión anterior
Si eliges volver a la versión anterior, pues quitará la nueva y dejará la vieja, avisándote desde dónde puedes hacerlo, que como vemos en la figura 16, es desde el menú de Inicio>Programas.
Figura 16. Aviso de desinstalación de la nueva y disponibilidad de la vieja
¿Cómo puedo probar que todo lo que dices es cierto?
¿Dónde se consigue la actualización?Pues resulta que solo está la versión 1.0.0.0 por la sencilla razón de que si ponía la actualización, y es la primera vez que entras en la página con las aplicaciones de ejemplo, te instalará siempre la más reciente, que es lo lógico, ya que no tiene mucho sentido tener actualizaciones y empezar a instalar desde la más antigua.
De todas formas, fíate de mi, que lo que te he mostrado son capturas reales.
Pero como se que el movimiento se demuestra andando, (o eso dicen), publicaré un ZIP con otra aplicación, para que te lo bajes, la aplicación incluida en el ZIP será la versión 1.0.0.0.
Esa misma aplicación la tendré publicada, pero NO debes bajártela desde la Web, ya que la que habrá en la Web es la actualización de la incluida en el ZIP, con idea de que compruebes que hay otras formas de distribuir aplicaciones: distribuyendo la primera versión de forma "habitual", y poniendo solo las actualizaciones en la red.A ver si lo consigo, ya que el "instalador" de ClickOnce es tan listo, que cuando va a instalar la primera versión comprueba si hay alguna nueva y de ser así la instala directamente.
Nos vemos.
Guillermo