Búsqueda personalizada

Aclaración

Este es un blog de apuntes universitarios. Creado por mí para compartir mis apuntes con ustedes. No es un curso, ni un tutorial. Muchas de las entradas son resúmenes, definiciones y síntesis. La mayoría tienen palabras técnicas.
Debido a esto, he tenido que cerrar los comentarios, espero sepan comprender que no puedo ampliar las más de 100 entradas de este blog ni explicar temas a todas las personas que entran cada día.
Muchas gracias por su atención.
Atte. Malw Dark






martes 29 de junio de 2010

Agregar un ícono de desinstalación a un proyecto VB net

 

Hace algunas semanas estuve buscando como hacer esto, y no lo encontré en ninguna parte. Por eso, he aquí la solución que yo apliqué.

Paso 1: Crear un exe que desinstale el programa, para que el usuario no tenga que ir a ‘panel de control –> agregar o quitar programas’. Especialmente si el usuario puede no haber visto el panel de control en su vida.

Para ello, añadir a la solución un proyecto del tipo consola.

Captura2

Captura2b

Y en dicho proyecto colocar (En una clase, por supuesto) el siguiente código:

Module Desintalador
    '
    Sub Main()
        '
        Dim WindowsInstaller As String = "MsiExec.exe"
        Dim PathCarpeta As String = My.Application.Info.DirectoryPath
        Console.WriteLine("Desinstalando...")
        '
        Try
            Process.Start(WindowsInstaller, "/x{83000000-6000-4000-8000-1000000000000}")
            My.Computer.FileSystem.DeleteDirectory(PathCarpeta, FileIO.DeleteDirectoryOption.DeleteAllContents)
            Console.WriteLine("El programa ha sido desinstalado correctamente")
        Catch ex As Exception
            Console.WriteLine("No se pudo desinstalar la aplicación: " & ex.Message)
        End Try
        ''
    End Sub
    '
End Module

(la desinstalación pasa muy rápido, así que los mensajes por consola pueden obviarse)

El número 83000000-6000-4000-8000-1000000000000 es un GUID inventado. Debe ser reemplazado por el GUID real del programa.

Los GUID son número identificativos únicos, cada programa tiene uno. Para obtener el del tuyo debes clicar sobre el instalador de tu proyecto y buscar en ‘Propiedades’ la propiedad ‘ProductCode’.

Captura7

Lo único que hace el previo código es llamar por consola al Windows installer y pedirle que desinstale (/x) el programa (puedes hacerlo a mano para probar: si das una orden no válida al windows installer, este mostará una ventana con una lista de todos sus comandos.)

 

Paso 2: Una vez hecha la aplicación de consola, genérala para tener el .exe y agrega a tu instalador el acceso directo que apuntará al mismo.

Como queda más ordenado, yo he puesto una carpeta para que contenga los accesos directos y hecho un logo de desinstalación.

Para crear el acceso directo o carpeta de accesos directos, hay que clicar el instalador y apretar el ‘Editor de sistema de archivos’ que aparecerá en el editor de soluciones, como se ve aquí debajo.

Captura3

Crear la carpeta en el espacio ‘Menú de programas del usuario’:

Captura4

crear el o los accesos directos (si no tienes un acceso directo a la aplicación, ponlo también, son muy prácticos) dentro de la carpeta:

Captura5

y enlazar los accesos directos a los .exe que correspondan:

Captura6

 

Bueno, eso es todo. Espero que les haya servido de ayuda :D