Tutorial: Utilizar una acción personalizada para mostrar un mensaje durante la instalación

En el siguiente tutorial se muestra cómo se utiliza una acción personalizada para obtener los datos introducidos por el usuario y transferirlos a un cuadro de mensaje que aparezca durante la instalación. Se trata de una sencilla demostración de las acciones personalizadas, que resultan útiles para muchas otras tareas. Por ejemplo, una acción personalizada podría tomar la ubicación del archivo Setup.exe como los datos introducidos por el usuario y utilizarlo para iniciar la aplicación después de instalarla.

En este tutorial se explica cómo se transfieren los datos a una propiedad dinámica utilizando una acción personalizada y cómo se utiliza una clase del instalador y la propiedad CustomActionData.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Para crear la acción personalizada

  1. En el menú Archivo, elija Nuevo y haga clic en Proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, seleccione Visual Basic en el panel Tipos de proyecto y, a continuación, elija Biblioteca de clases en el panel Plantillas. En el cuadro Nombre, escriba PassData.

    El proyecto se agregará al Explorador de soluciones.

Para crear una clase del instalador

  1. En el menú Proyecto, haga clic en Agregar clase.

    En el cuadro de diálogo Agregar nuevo elemento, elija Clase del instalador. Acepte el nombre predeterminado.

  2. Cuando la clase del instalador aparezca en la superficie de diseño, haga clic con el botón secundario del mouse en la superficie de diseño y, a continuación, haga clic en Ver código para ver el contenido del archivo en el editor de código.

  3. Agregue el siguiente procedimiento para invalidar los procedimientos Install, Commit, Rollback y Uninstall de la clase base.

    Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)
        MyBase.Install(stateSaver)
        Dim myInput As String = Me.Context.Parameters.Item("Message")
        If myInput Is Nothing Then
            myInput = "There was no message specified"
        End If
        MsgBox(myInput)
    End Sub
    
    Public Overrides Sub Commit(ByVal savedState As System.Collections.IDictionary)
        MyBase.Commit(savedState)
    End Sub
    
    Public Overrides Sub Rollback(ByVal savedState As System.Collections.IDictionary)
        MyBase.Rollback(savedState)
    End Sub
    
    Public Overrides Sub Uninstall(ByVal savedState As System.Collections.IDictionary)
        MyBase.Uninstall(savedState)
    End Sub
    
    public override void Install(System.Collections.IDictionary stateSaver)
    {
        base.Install(stateSaver);
        string myInput = Context.Parameters["message"];
        if (myInput == null)
        {
            myInput = "There was no message specified";
        }
        MessageBox.Show(myInput);
    }
    
    public override void Commit(IDictionary savedState)
    {
        base.Commit(savedState);
    }
    
    public override void Rollback(IDictionary savedState)
    {
        base.Rollback(savedState);
    }
    
    public override void Uninstall(IDictionary savedState)
    {
        base.Uninstall(savedState);
    }
    

    Nota

    Si escribe Public Overrides y a continuación escribe un espacio, IntelliSense mostrará una lista de métodos y propiedades; puede seleccionar Install en la lista y obtener la declaración completa.

  4. En el Explorador de soluciones, haga clic con el botón secundario en el archivo de código Class1 y seleccione Eliminar (ya que no es necesario).

Para crear un proyecto de implementación

  1. En el menú Archivo, elija Agregar y, después, haga clic en Nuevo proyecto.

  2. En el cuadro de diálogo Agregar nuevo proyecto, en el panel Tipo de proyecto, expanda el nodo Otros tipos de proyectos y elija Instalación e implementación; a continuación, seleccione Proyecto de instalación en el panel Plantillas. En el cuadro Nombre, escriba Instalador de PassData.

  3. En la ventana Propiedades, seleccione la propiedad ProductName y escriba PassData.

    Además, seleccione la propiedad Manufacturer y escriba My Company.

  4. En el Editor del sistema de archivos, seleccione el nodo Carpeta de la aplicación. En el menú Acción, elija Agregar y, a continuación, haga clic en Resultados del proyecto.

  5. En el cuadro de diálogo Agregar grupo de resultados del proyecto, seleccione el resultado principal del proyecto PassData.

    En el Editor del sistema de archivos aparece Resultado principal desde PassData (activo).

Para agregar una acción personalizada

  1. Seleccione el proyecto Instalador de PassData en el Explorador de soluciones. En el menú Ver, elija Editor y, a continuación, haga clic en Acciones personalizadas.

  2. En el Editor de acciones personalizadas, seleccione el nodo Instalar (nivel superior). En el menú Acción, haga clic en Agregar acción personalizada.

  3. En el cuadro de diálogo Seleccionar elemento en el proyecto, haga doble clic en Carpeta de la aplicación.

  4. Seleccione Resultado principal desde PassData (Active) para agregar la acción personalizada PassData al nodo Instalar.

  5. En la ventana Propiedades, seleccione la propiedad CustomActionData y escriba /Message="[MESSAGE]".

  6. Asegúrese de que la propiedad InstallerClass está establecida en True (valor predeterminado).

Para personalizar la interfaz de usuario de la instalación

  1. Seleccione el proyecto de instalación en el Explorador de soluciones. En el menú Ver, elija Editor y, a continuación, haga clic en Interfaz de usuario.

  2. En el Editor de la interfaz de usuario, seleccione el nodo Iniciar, situado bajo Instalar. En el menú Acción, haga clic en Agregar cuadro de diálogo.

  3. En el cuadro de diálogo Agregar cuadro de diálogo, seleccione el cuadro de diálogo Cuadros de texto (A).

  4. En el menú Acción, haga clic en Subir. Repita esta acción hasta que el cuadro de diálogo Cuadros de texto (A) quede situado encima del nodo Carpeta de instalación.

  5. En la ventana Propiedades, seleccione la propiedad BannerText y escriba.

    ¿Cuál es su mensaje?

  6. Seleccione la propiedad BodyText y escriba:

    Escriba su mensaje aquí.

  7. Seleccione la propiedad Edit1Label y escriba:

    Mensaje:

  8. Seleccione la propiedad Edit1Property y escriba:

    MENSAJE

  9. Seleccione las propiedades Edit2Visible, Edit3Visible y Edit4Visible y asígneles el valor False.

  10. En el menú Generar, haga clic en Generar instalador de PassData.

Para instalar en el equipo de desarrollo

  • Seleccione el proyecto Instalador de PassData en el Explorador de soluciones. En el menú Proyecto, haga clic en Instalar.

    Esto hará que se ejecute el instalador en el equipo de desarrollo. En el cuadro de diálogo ¿Cuál es su mensaje?, escriba Hello World!..

    Nota

    Debe tener los permisos de instalación del equipo para poder ejecutar el instalador.

Para implementar en otro equipo

  1. En el Explorador de Windows, navegue hasta el directorio del proyecto y busque el instalador compilado. La configuración de proyecto predeterminada es Debug o Release.

  2. Copie Instalador de PassData.msi, Setup.exe y otros archivos y subdirectorios en el directorio del otro equipo.

    Nota

    Para realizar una instalación en un equipo que no esté en red, copie los archivos en un soporte tradicional, como un CD-ROM.

    En el equipo de destino, haga doble clic en el archivo Setup.exe para ejecutar el instalador. En el cuadro de diálogo ¿Cuál es su mensaje?, escriba Hello World!..

    Nota

    Debe tener los permisos de instalación del equipo para poder ejecutar el instalador.

Para probar la instalación

  • Ejecute la aplicación y compruebe que el cuadro de texto contiene el texto "Hello World!" que escribió durante la instalación.

Para desinstalar la aplicación

  1. En el Panel de control de Windows, haga doble clic en Agregar o quitar programas o en Programas y características.

  2. Seleccione Instalador de PassData, haga clic en Quitar o Desinstalar y, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo.

    SugerenciaSugerencia

    Para realizar la desinstalación en el equipo de desarrollo, en el menú Proyecto, haga clic en Desinstalar.

Vea también

Referencia

CustomActionData (Propiedad)

Otros recursos

Administración de acciones personalizadas en la implementación