Tutorial: Crear instalador ClickOnce

Opciones de Implementación

.NET Framework proporciona algunas características básicas que facilitan la implementación de una amplia gama de aplicaciones. 

Características de la implementación ClickOnce

En general, la implementación mediante ClickOnce simplifica enormemente el proceso de instalar y actualizar las aplicaciones.

Las aplicaciones implementadas con ClickOnce se actualizan automáticamente y son la mejor elección para aplicaciones que requieren cambios frecuentes. Los usuarios deben tener conectividad de red para aprovechar las funciones de actualización en intranet o internet.

Características de la implementación con Windows Installer

Con Windows Installer, puede agregar un proyecto de instalación a su solución para crear un archivo de instalación que se distribuya entre los usuarios; el usuario ejecuta el archivo de instalación y los pasos a través de un asistente para instalar la aplicación. Con ClickOnce, el Asistente para publicación permite empaquetar la aplicación y publicarla en un sitio Web o recurso compartido de archivos de red; el usuario instala e inicia la aplicación directamente desde esa ubicación en un solo paso.

Comencemos

1. Crear una solución Visual Basic de tipo WindowsFormApplication, al proyecto nombrarlo "TutoClickOnce" y a la solución: "TutoClickOnce_SLN"
Solución


2. En la forma, arrastrar un menustrip y un button.
3. Agregar un toolstripButton al menustrip y cambiar el text por "Actualizar"
Windows Forms

4. Crear eventos click para ambos controles
5. Copiar y pegar el siguiente código en los eventos creados respectivamente:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show("Hola mundo ClickOnce versión: " & My.Application.Info.Version.ToString)
    End Sub

    Private Sub ActualizarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActualizarToolStripMenuItem.Click
        If My.Application.Deployment.CheckForUpdate Then
            If MessageBox.Show("Se ha encontrado una actualización, desea actualizar la versión?", "Mensaje del Sistema", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information) = DialogResult.Yes Then
                If My.Application.Deployment.Update Then
                    If MessageBox.Show("Actualizado exitosamente, para que los cambios tengan efectos debe reiniciar la aplicación, desea reiniciar la aplicación?", "Mensaje del Sistema", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                        Application.Restart()
                    End If
                End If
            End If
        Else
            MessageBox.Show("No hay actualizaciones disponibles", "Mensaje del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If
    End Sub
End Class



6. Preparar una carpeta compartida, para este ejemplo: ir a unidad "D:/" Crear una carpeta "Aplicacion ClickOnce" clic derecho compartir.
ClickOnce

7. Obtén el nombre de tu equipo
ClickOnce

8. Ve hacia la solución, clic derecho sobre el proyecto y dar clic en "Publish"
ClickOnce

9. En esta ventana la ruta donde publicarás tu aplicación
ClickOnce

10. Especifica la ruta de red a la que accederán los usuarios para instalar la aplicación y/o actualización
ClickOnce

11. Especifica si tu aplicación estará disponible sin conexión
ClickOnce

12. Enseguida Visual Studio compila tu solución y te mostrará esta ventana, ejecutar el setup para instalar la aplicación. (Este punto se puede hacer desde la PC del usuario, pero para efectos de este tutorial lo ejecutamos en nuestra PC)
ClickOnce
13. Una vez instalado, ejecutamos la aplicación, probar el botón "Button1" y fijarse en la versión (1.0.0.0) No cerrar la aplicación.
ClickOnce
14. Ahora, Ir al Visual Studio y hacer algún cambio visible en la aplicación, por ejemplo subir la versión como en la siguiente imagen.
Assembly
15. Realiza un cambio adicional en el Form1, ubicarse en el control Button1 y setear la propiedad Dock en "Fill"
ClickOnce

16. Ejecuta de nuevo el "Publish" (clic derecho sobre el proyecto, clic en publish), esta vez no necesitas configurar nada, solo dar clic en "finish"
ClickOnce

17. Ir a la aplicación que dejamos ejecutada en segundo plano, y dar clic en "Actualizar", te mostrará un mensaje como el siguiente, dar clic en "Si"
ClickOnce

18. Enseguida te muestra un mensaje de que se ha actualizado exitosamente y te pide reiniciar la aplicación para ver los cambios de la nueva versión. Dar clic en "Si"
ClickOnce

19. Prueba dando clic en el "Button1", a este punto ya notamos que se actualizó correctamente.
ClickOnce

Nota: De todas maneras, al iniciar la aplicación, este internamente verifica si hay actualizaciones disponibles y pregunta si deseas instalar o no.
ClickOnce

Este es el fin del tutorial, espero sea de tu agrado. Dudas, sugerencias o comentarios aquí abajo, si te gustó suscribete o dale like. Hasta pronto.

Comentarios

  1. Como especifico la ruta de red en el paso 10??

    ResponderEliminar
    Respuestas
    1. Hola! Para equipos remotos se pone \\nombreEquipoEnRed\directorioPublicacion\
      Se puede reemplazar nombreEquipoEnRed por una direccion IP. Recuerda que el equipo remoto debe estar accesible. Si es en la maquina local entonces puedes poner D:\directorioPublicacion\

      Eliminar
  2. Si deseo usar un servidor Web, tiene que ser Internet Informaticion Server? o puede ser un servidor web Free como Tomcat u otro?

    ResponderEliminar

Publicar un comentario