Compartir a través de


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

Actualización: noviembre 2007

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:

Los cuadros de diálogo y los comandos de menú que se ven pueden diferir de los descritos en la Ayuda, dependiendo de los valores de configuración o de edición activos. Para cambiar su configuración, haga clic en Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Nota:

En las siguientes instrucciones se detalla cómo se crea un proyecto de implementación utilizando un proyecto de Visual Basic; los principios generales se aplican a todos los proyectos de lenguajes de Visual Studio que admiten la implementación de aplicaciones para Windows.

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, seleccione 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, seleccione 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 reemplazar el procedimiento Install 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
    
    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 del mouse en Class1.vb y seleccione Eliminar (dado que se trata de un elemento innecesario).

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 seleccione 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.

    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 desdePassData (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.

    Seleccione el elemento Resultado principal desde PassData (activo). Esto agregará la acción personalizada PassData al nodo Instalar.

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

    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 que se ha generado. La ruta de acceso predeterminada será \Documents and Settings\suNombreDeInicioDeSesión\Mis documentos\Visual Studio 2005\Proyectos\Nombre de la carpeta de soluciones\Instalador de My Notepad\configuración de proyecto\My Notepad Installer.msi. 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.

  2. En el cuadro de diálogo Agregar o quitar programas, seleccione Instalador de PassData y haga clic en Quitar; a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo.

    Sugerencia:

    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

Utilizar componentes de instalación