Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   El ClickOnce de MicroSoft (https://www.clubdelphi.com/foros/showthread.php?t=28407)

dec 19-12-2005 05:29:47

El ClickOnce de MicroSoft
 
Hola,

Tengo que decirlo, porque si no voy a reventar. ¿Conocéis el "sistema ClickOnce" que incluye Microsoft en Visual Studio 2005? Y en las versiones Express, por ejemplo, que yo sepa, en Visual C# Express también se incluye "ClickOnce".

Seguramente se le podrán sacar faltas. Incluso de donde no las tenga, como suele decirse. Sin embargo, lo que digo yo ahora es que me ha parecido estupendo, una verdadera pasada, vamos, una de esas cosas que te da que pensar, que te parece que tiene futuro, de muchas maneras, que es cuestión de sacarle provecho.

Con "ClickOnce" podrías estar continuamente sacando nuevas revisiones de tu programa: ¡así da gusto! Con "ClickOnce" no hace falta sino indicar un "sitio" en donde publicar tu programa: puede ser un servidor FTP, un "sitio remoto", o una ubicación en el disco duro. Es el caso que después de "rellenar" una serie de datos tu programa estará perfectamente "empaquetado" y disponible para quien lo necesite.

Elige por ejemplo un sitio Web en que publicar tu programa: "ClickOnce" se encargará de subir los archivos necesarios, incluso preparará una página desde la que se podrá acceder a tu programa automáticamente: cada que vez que "re-publiques" tu programa dicha página mostrará la versión actual, la nueva, la actualizada.

Puedes optar porque tu aplicación no esté disponible sino "en línea". El programa podrá ser ejecutado directamente desde la página Web generada por "ClickOnce" o desde otra que prepararas tú mismo para tal efecto: bastará con llamar a un determinado archivo. Internet Explorer (no, de momento, al menos, no funciona en FireFox) se encargará de lanzar un programa que comprobará los prerequisitos necesarios para ejecutar tu programa.

Una vez comprobados los requisitos aparecerá una ventana indicando al usuario que se va a proceder a la ejecución de un programa, y que... esto solamente aparecerá una vez, no después de que el usuario conceda el permiso necesario. Recuerda que estamos hablando de .NET. Una aplicación con no poca funcionalidad puede ocupar menos de 50 KB... eso será lo que el usuario habrá de descargarse, siempre que cuente con "todo lo demás", que vendrá instalado en Windows Vista y está disponible para otras versiones de Windows.

Ahora vuelve otra vez al entorno de desarrollo. Cambia el color de fondo del formulario principal de tu programa: haz clic en la opción del menú "Publish..."... y en unos minutos (dependiendo de la conexión a Internet) tu programa estará donde le dijiste la vez primera que estuviera, y el usuario, como queda dicho, ejecutará, cuando lo vuelva a hacer, la última versión de tu solución, la que pusiste ahí cinco minutos antes.

"ClickOnce" va más allá que lo dicho. De hecho acabo de conocerlo y se me escapan la mayoría de las cosas, intuyo. Puedes, por ejemplo, hacer que tu programa se instale en el ordenador del usuario, desde un cederrón, por ejemplo: "ClickOnce" te preparará el archivo "autorun.inf" necesario, así como todos los archivos implicados en el proceso de instalación del programa. ¡Tu programa seguirá actualizándose a cada ejecución, si quieres, cada cierto tiempo, el que tú digas, automáticamente, sin que tengas que hacer nada en absoluto!

Todos sabemos la cantidad de componentes que existen para no pocos lenguajes (Java, Delphi, incluso C#) que sirven para actualizar una aplicación. Algunos de ellos son verdaderamente complejos, sea por la cantidad de opciones, sea porque al lado de "ClickOnce"... ¿qué no parecerá complejo? Es mucha la sencillez que muestra "ClickOnce", pero su potencia no es poca, no hay que confundir.

Hace algún tiempo escribí una aplicación de consola para convertir archivos de imagen a distintos formatos. Me ha costado una hora más o menos convertirla en una "primera versión" de la aplicación, esta vez con interfaz de usuario, ya saben, la ventana con botones, casillas de edición, etc. Desde luego he tardado mucho más en adaptar esta nueva versión que en publicarla, "ClickOnce" mediante.

Podéis echar un vistazo y ejecutar y utilizar Img2Img, que así se llama el monstruo, desde esta página Web. (Notad que acaso siga un poco con esta aplicación, porque me plazca y quiera mejorarla en cuanto pueda, pero, también puede dejar de estar disponible: al fin y al cabo es una prueba que me he hecho un poco al hilo de este texto, pero, no deja de ser eso, una mera prueba, que puede desaparecer hasta nueva orden y sin previo aviso; seguro que lo comprenderíais).

Eso sí, necesitaréis el .NET FrameWork Redistributable Package 2.0 e Internet Explorer. Yo no he tenido problemas con los requisitos, así que no sé exactamente qué ocurre cuando estos no se satisfagan, pero, creo que tendréis en la página que "ClickOnce" generó automáticamente los enlaces necesarios para conseguir el software que os falte, si es que os falta.

Disculpad el rollo. Gracias a todos. Me he quedado a gusto, por el momento, al menos. Seguramente si echáis un vistazo a "ClickOnce" también a vosotros se os ocurrirán cosas: buenas, malas, unas y otras, no estaría demás que las comentaráis, si lo tenéis a bien. ;)

vtdeleon 19-12-2005 14:39:44

Esto me ha dado un poco de envidia, voy a conseguir Visual Studio :D:D para probar!!

Saludos

dec 19-12-2005 14:54:11

Hola,


Cita:

Empezado por Troi
Esto me ha dado un poco de envidia, voy a conseguir Visual Studio :D:D para probar!!

No es preciso para eso Troi, con la versión Express de Visual C#, por ejemplo, puedes hacerlo perfectamente (desconozco si Visual Studio ofrece otras posibilides: es de suponer que sí, conozco la versión 2003 y es bastante más completa que las versiones Express de la versión 2005).

dec 19-12-2005 14:58:44

Hola de nuevo,

Una pega estoy notando a "ClickOnce" este, y es que no veo la manera de hacerlo funcionar en FireFox. Se ve que solamente va en Internet Explorer, y, sin embargo, no veo que se haga uso de ningún "ActiveX". Quiero decir que los requisitos deberían ser los mismos para FireFox que para IExplorer, puesto que yo que lo estoy probando puedo ejecutar el programa de marras: fuera de cualquier navegador, sin problema alguno.

De todos modos es un contratiempo, nada más. A últimas podría compilarse una instalación para ser descargada por los usuarios que no pudieran ejecutarla desde el navegador: ignoro si esta aplicación contaría con las posibilidades de auto-actualización, creo que sí, y además su tamaño sería tan pequeño como "la otra": menos de 30 KB, actualmente, para Img2Img. ;)

vtdeleon 19-12-2005 18:54:05

No se si es solo a mi que le pasa, pero no he podido usarlo.

http://vtdeleon.clubdelphi.com/cosas/5.JPG

Reinstale el paquete Net 2 y NA E NA. :confused:

dec 19-12-2005 19:03:26

Hola,

Pues, que yo sepa, no tiene otros requisitos... ¿no será tal vez la versión del navegador? Estoy dando palos de ciego: no he leído nada sobre el tema y es posible que el asunto no esté disponible para todas las versiones de Internet Explorer. ¿Qué versión estás utilizando? Yo uso la 7 beta, pero, es de suponer que a partir de la 6 no hubiera problemas... es mucho suponer, pero, en fin...

No sé qué decirte Troi, a ver si alguien se animara a probarlo y a comentar aquí si le va bien o qué y en qué condiciones. ;)

vtdeleon 19-12-2005 19:05:39

Uso la version 6, dejame ver si consigo la 7 y lo instalo, te digo en un rato....

dec 19-12-2005 19:15:10

Hola,

Pues usando la versión 6 de Internet Explorer para mí que no debería haber problemas,... por esa parte. Tal vez se trate de otra cosa... lo que me ha llevado a pensar que fuera el navegador es que el "error" que te aparece es el mismo que si tratas de iniciar la aplicación desde FireFox, por ejemplo.

Pero, es posible que sea cuestión de la versión del "framework" .NET que tengas instalado: de hecho el navegador debería llamar a cierto programa incluído (creo) en el "framework", de tal modo que la extensión del archivo debería ya estar registrada en Windows para que fuera dicho programa el encargado de abrirlo... podría decirte el nombre del programa, por si pudieras buscarlo en tu ordenador.

Lo que puedo decirte ahora mismo es la versión del "framework" .NET que estoy utilizando: v2.0.50727.

__hector 19-12-2005 22:10:16

La tecnologia ClickOnce tiene algun tiempecito cocinandose a lo interno de M$. Recuerdo una presentacion en la que comentaban sobre ciertos chicos de Amazon, a quienes la tecnologia les parecio muy buena, y que mostraron cierto interes sobre las mil formas en las que podian explotarla.

Pero si algo se me hace interesante, es la implementacion de CAS (Code Access Security) que lleva intrinseco esta tecnologia. Y es que, al menos en papeles, y a diferencia de los ActiveX a los que nos sometio M$ alguna vez, la combinacion de CAS y el .NET Framework, hace que las aplicaciones se ejecuten de manera "segura" en el computador, pues el mismo framework lleva un soporte de ejecucion de aplicaciones y restricciones de seguridad, que permitiran decidir que codigo se ejecuta y que codigo no (o mas bien, que codigo tiene acceso a recursos y que no).

Con respecto a esto se ha hablado mucho, y he escuchado algunas alabanzas y criticas a la implementacion de M$ de CAS, pero en su mayoria, cosas positivas. Vamos a ver como sigue avanzando esto, que parece ir por buen camino.

dec 20-12-2005 15:31:55

Hola,

Agrego un par de enlaces en donde informarse algo más sobre "ClickOnce":

mamcx 20-12-2005 15:42:02

De todas maneras es bueno apuntar al hecho que con Delphi desde la version 1 se puede hacer lo mismo. "ClickOnce" es basicamente descargar archivos desde red y reemplazar ejecutables y dlls... nada del otro mundo.

Me descresta mas la recnologia "RunOnce" de Delphi, copias, click y !run!

__hector 20-12-2005 16:39:22

Es un poco mas. Recuerda, CAS

dec 20-12-2005 16:56:43

Hola,

Bueno. Después de lo poco que he leído sobre "ClickOnce" estoy por decir que, efectivamente, "la cosa" viene de unos años acá, y que se han ido mejorando las sucesivas soluciones que iban proponiendo hasta llegar a "ClickOnce", actualmente, veremos en un tiempo... De todas formas:


Cita:

Empezado por mamcx
De todas maneras es bueno apuntar al hecho que con Delphi desde la version 1 se puede hacer lo mismo. "ClickOnce" es basicamente descargar archivos desde red y reemplazar ejecutables y dlls... nada del otro mundo.

No enfocaba yo el tema en cuanto he dicho sobre "ClickOnce" en cuanto a su nivel tecnológico se refiere. No sé exactamente cómo trabaja aún, y puede que no llegue nunca a saberlo, por varios motivos. Primero, porque no me interese, porque no lo necesite; segundo, porque Visual C# Express y Visual Studio 2005 te proporcionan una forma de "ClickOnce" verdaderamente sorprendente. Y de eso quería yo hablar: de lo sencillo que resulta hacer uso de "ClickOnce".

Sigo sin entender mucho de todo esto, por lo que ruego me disculpéis si digo algo raro. No es que no me interese el qué y el cómo de "ClickOnce", sino que lo que me ha llamado la atención es, relativamente, sencilla puesta en marcha, desde Visual Studio o en su defecto Visual C# Express. No dudo que si Borland se pusiera a ello (a lo mejor ya lo ha hecho y no me he dado cuenta) podría dar "soporte" a "ClickOnce" estupendamente.

mamcx 20-12-2005 23:55:59

La "novedad" con VS es que es una caracteristica que esta incorporada de forma simple. De hecho clickonce estaba desde la version 1 de .NET pero habia que hacer uno que otro paso mas.

No me refiero al hecho que haya soporte por medio de un "wizard" en Delphi. Mas bien que el concepto es muy simple:

- Publicas una serie de archivos en una unidad de red o servidor ftp
- Haces un lanzador que cheque cambios y descarge archivos
- Opcionalmente ejecutas scripts de actualizacion
- Reemplazas archivos y ejecutas

Como ves, no es una idea compleja, pero requiere sentarse a programar o usar componentes de terceros. La novedad de VS 2005 es que ya esta de forma incorporada....

No es una critica al soporte que se le da a esta idea, es mas es bueno porque ahora muchos programadores, que no se les habia ocurrido, diran: "Aaaaa, es que se puede descargar archivos de una red, y se actualiza la aplicacion sin ir a reinstalar!", si no que apunto a que el concepto es demasiado simple.... quizas de alli que pocos lo hayan usado ;)

Obvio que hay otras ventajas que no las da el ClickOnce como tal sino el runtime de .NET, donde se pude tener un control muy granular de la seguridad...

JXJ 21-12-2005 00:28:35

Creo que algo si,
ya esta para delphi con incUpdate.

http://www.sunisoft.com/incupdate/index.htm

y otros componentes. ...
-----------
lo del problema con firefox.
será por que es nuevo. y no cubre las cosas que
estan para IE. a menos que ya haya plugins,
que no haya visto.

Algo asi me paso con un video RM que no
pude ver en firefox. pero si con ie,,
ya teniendo, realplayer instalado.

en firefox, solo decia que falta un plugin para
ver el video pero no se pudo instalar por
ser desconocido el plugin.

Jad_1978 08-11-2007 10:43:50

ClickOnce machaca las bases de datos!!
 
Hola a tod@s! Tengo un problemilla con un proyecto que he creado.

La cuestión es que mi proyecto incluye una base de datos que cada uno de mis clientes tiene en su equipo local. Cuando yo toco esa base de datos o modifico su estructura, los clientes al arrancar el programa y actualizar ven machacada su base de datos con la total pérdida de todos sus datos.

La pregunta es: ¿Puedo modificar la "estructura y sólo la estructura" de la base de datos sin machacar los datos de mis clientes?

Este es el único fallo que la encuentro a ClickOnce, aunque creo que si no puede hacerse esto, es un fallo bastante considerable.

Gracias por adelantado.


La franja horaria es GMT +2. Ahora son las 22:12:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi