none
Actualización Automática de aplicación Desktop RRS feed

  • Pregunta

  • Buenas noches Estimados. 

    Tengo una duda que no he podido resolver investigando en la red.  Tengo un aplicación de Escritorio la cual necesito que se actualice de forma automática cada vez que genero un nueva versión. 
    A esta parte me refiero. Agradecería mucho de su ayuda ya que cada vez que actualizo tengo que pasar PC por PC y son como 7 :( 

    De ante mano muchas gracias, Saludos!


    Llegaras a ser lo que quieras ser....

    miércoles, 27 de febrero de 2019 6:49

Respuestas

  • Hola, no has visto el tema de ClickOnce??

    ClickOnce1

    ClickOnce2

    Yo tengo varias aplicaciones corriendo en clientes y es muy fácil actualizar a través de lo que te digo. Te ahorras un montón de tiempo.

    Saludos

    miércoles, 27 de febrero de 2019 14:22
  • La pantalla te está preguntando que dónde vas a poner la aplicación para que los usuarios la descarguen. Esto es importante si quieres que se actualice automáticamente, puesto que la aplicación acudirá a ese sitio a buscar sus actualizaciones.

    La primera opción es ponerla en un sitio web, es decir, una dirección a la que se acude poniendo "http://....". Tendrás que disponer de ese sitio, habilitar una carpeta para la aplicación, poner la ruta de ese sitio en la pantallita que estás viendo, y cuando termine el asistente copiar ahí los ficheros que te genera.

    La siguiente opción es publicar la aplicación en una carpeta compartida, de las que se acceden poniendo "\\servidor\carpeta". Una vez más, tendrás que disponer de ese servidor, crear en él la carpeta y compartirla, dar permisos a tus usuarios, y copiar en ella los ficheros que te genera el asistente.

    miércoles, 27 de febrero de 2019 7:04
    Moderador

Todas las respuestas

  • La pantalla te está preguntando que dónde vas a poner la aplicación para que los usuarios la descarguen. Esto es importante si quieres que se actualice automáticamente, puesto que la aplicación acudirá a ese sitio a buscar sus actualizaciones.

    La primera opción es ponerla en un sitio web, es decir, una dirección a la que se acude poniendo "http://....". Tendrás que disponer de ese sitio, habilitar una carpeta para la aplicación, poner la ruta de ese sitio en la pantallita que estás viendo, y cuando termine el asistente copiar ahí los ficheros que te genera.

    La siguiente opción es publicar la aplicación en una carpeta compartida, de las que se acceden poniendo "\\servidor\carpeta". Una vez más, tendrás que disponer de ese servidor, crear en él la carpeta y compartirla, dar permisos a tus usuarios, y copiar en ella los ficheros que te genera el asistente.

    miércoles, 27 de febrero de 2019 7:04
    Moderador
  • Hola, no has visto el tema de ClickOnce??

    ClickOnce1

    ClickOnce2

    Yo tengo varias aplicaciones corriendo en clientes y es muy fácil actualizar a través de lo que te digo. Te ahorras un montón de tiempo.

    Saludos

    miércoles, 27 de febrero de 2019 14:22
  • Estimado seria mucho pedir un fragmento del código para saber mas menos como lo hiciste. Saludos

    Llegaras a ser lo que quieras ser....

    sábado, 13 de abril de 2019 19:45
  • Estimado seria mucho pedir un fragmento del código
    Errrr... ¿qué código? La gracia del click-once está en que no hay que escribir nada de código. Simplemente seleccionas la opción en Visual Studio (la que se ve en la imagen de pantalla del primer mensaje), y ya está, el Click-Once lo hace todo sin nada de código.
    sábado, 13 de abril de 2019 19:52
    Moderador
  • Disculpa mi ignorancia, sigo sin entender. Seria entonces subir un archivo a un sitio mediante la opción "desde sitio WEB" e internamente Click-Once finaliza lo demás?
    Gracias amigo :)

    Llegaras a ser lo que quieras ser....

    domingo, 14 de abril de 2019 3:43
  • Tendrías que crear un servicio.

    domingo, 14 de abril de 2019 4:05
  • Mediante el IIS? Pero si quisiera hacerlo publico?  Tendría que ademas crear credenciales para cada usuario?

    Llegaras a ser lo que quieras ser....

    domingo, 14 de abril de 2019 4:20
  • Seria entonces subir un archivo a un sitio mediante la opción "desde sitio WEB" e internamente Click-Once finaliza lo demás?

    Esencialmente lo que hace click-once es que genera un conjunto de archivos y carpetas. Esos archivos y carpetas hay que ubicarlos en un sitio que sea accesible a quienes deban instalar la aplicación. Puede ser un sitio web, o puede ser una carpeta compartida en red, o podría ser incluso un cd-rom que les envías a los usuarios.

    Si dispones de suficientes permisos para publicar directamente en un sito web desde visual studio, puedes usar la opción "desde sitio web" y visual studio lo hace todo. Si (como es frecuente) no tienes acceso directo para publicar en el sitio web desde el equipo de desarrollo, entonces lo que puedes hacer es usar la opción de publicar a una carpeta y luego entregar esa carpeta a quien tenga suficientes permisos para subirla al sitio web.

    domingo, 14 de abril de 2019 6:36
    Moderador
  • Hola, analiza el siguiente código

    //Verifico que la aplicación sea con ClickOnce
    if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed == true)
    {
    //Pregunto si hay actualizaciones de la App.
        if (System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CheckForUpdate())
        {
          //Comienza a actualizar
          ApplicationDeployment.CurrentDeployment.Update();
          //Obtengo la nueva versión.
          var version = 
          ApplicationDeployment.CurrentDeployment.UpdatedVersion;
          //Muestro en un mensaje la nueva versión de la aplicación.
          MessageBox.Show("Actualización descargada e instalada. La nueva versión es " + version + "", "REINICIAR APLICACIÓN", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
          //Reinicio la aplicación.
          Application.Restart();
         }
    }

    Mientras actualizas, puedes mostrar un formulario con algún progress bar para que el usuario se entere de que la aplicación está actualizando....eso hago yo, muestro un formulario (con gif de carga) en un thread aparte mientras la aplicación se actualiza, una vez terminada, mato el hilo y reinicio la app.

    Saludos

    lunes, 15 de abril de 2019 12:59
  • Hola Enrique, muchas gracias por tu respuesta. 

     Intenta utilizar el codigo compartido. Me sucede que retorna False el primer:

    if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed == true)
    

    Tengo activada en security y en signing CLICKONE pero nunca logro obtener un TRUE.  Debo aplicar alguna configuración especial al proyecto? Saludos, gracias Enrique!


    Llegaras a ser lo que quieras ser....

    lunes, 15 de abril de 2019 15:46
  • Hola Alberto, muchas gracias por  tu respuesta. Me quedo bastante claro. Ahora investigare como habilitar una carpeta en  un sitio WEB. Intente actualizar desde FTP pero no es posible, solo permite subir y lo pude hacer  sin problemas. Ahora continuare batallando para montar la carpeta en un sitio web. 
    Saludos, muchas gracias Alberto!

    Llegaras a ser lo que quieras ser....

    lunes, 15 de abril de 2019 15:50
  • Hola,

    la verdad que la aplicación se vuelve ClickOnce una vez que la publicas (es lo que sé yo, puede que esté equivocado) ya que en ese momento crea una serie de archivos internos, como el .deploy por ejemplo. Localmente nunca será ClickOnce (por lo menos a mi no me ha funcionado esa validación localmente), me funciona siempre que la publico en mi servidor.

    Saludos

    lunes, 15 de abril de 2019 21:26