Proyecto de Setup Wizard


En múltiples ocasiones necesitamos instalar en el IIS una aplicación Web. Por ejemplo cuando no tenemos acceso al servidor, tenemos que realizar múltiples instalaciones o el cliente nos solicita un instalador. Visual Studio soporta la creación de un proyecto de Setup para realizar esta tarea.
En el siguiente artículo tenemos un buen ejemplo de como crearlo:
http://www.aspdotnet-suresh.com/2012/04/visual-studio-create-setup-project-to.html

En el post me centrare en describir las configuraciones que pueden ser aplicadas al mismo.

Modificar look&feel

  1. Es posible modificar ciertos aspectos del look and feel del proyecto hemos de ir al menú contextual del proyecto View->User Interface

    Paso 1: Acceso al menú View->User Infertace

  2. Pulsamos sobre una de las ventanas del asistente y en propiedades podemos cambiar los textos y banner que aparecen en la ventana del asistente.

    Paso 2: Cambiar los textos y banner

  3. Los cambios se harán efectivos después de recompilar el proyecto.

Parámetros comunes

  1. Al pulsar View->File Systempodemos cambiar algunos de los parámetros más comunes al dar de alta un Web Site en el IIS. Nombre de la Aplicación en IIS, Permisos, Mappings del directorio…

    Paso1 Cambiar parámetros comunes del IIS

Añadir más diálogos/pasos al asistente (método básico)

  1. Hemos de ir al menú contextual del proyecto View->User Interface
  2. Desde el Ventana User Interface, pulsamos en el botón contextual, pulsamos add Dialog. Podemos añadir diversos tipos de diálogos que son un poco configurables. Por ejemplo el dialogo de TextBoxes contiene 4 textBox, los cuales podemos ocultar en función de nuestras necesidades.

    Paso2: Añadir dialogo al User Interface

Es importante destacar que los textbox disponen una EditProperty. Esta propiedad indica el nombre que se usará posteriormente como clave para acceder al valor rellenado (se verá en el apartado de añadir procesos de instalación al asistente).
Hay que tener en cuenta alguna de las limitaciones que presenta. No permite configurar plenamente los diálogos del asistente (solo podemos trabajar con una selección básica predefinida). Además lo entrado en el dialogo por el usuario no puede ser validado.

Añadir más dialogos/pasos al asistente (método avanzado)

Os adjunto enlace a un ejemplo de este método avanzado:
Creación diálogos propios en un Setup Project

Añadir procesos de instalación al asistente

Por ejemplo a partir los valores introducidos en los diálogos añadidos descritos en los puntos anteriores, realizar determinadas tareas extras en la instalación.

  1. Creamos un proyecto con las tareas
    1. Crear un nuevo proyecto Class Library
    2. Añadir las siguientes referencias:System.Configuration.Install.dll, System.Configuration.dll y
      System.Web.dll
    3. Add New Item -> Installer Class

      Paso 1.C Creación de Installer Class

    4. En Name CustomAction.cs
    5. Sobrescribimos el método Install
              public override void  Install(IDictionary stateSaver)
              {
                   base.Install(stateSaver);
                   //this.Context.Parameters['clave']);
              }
      
  2. Indicamos al proyecto de Setup para que ejecute la tarea.
    1. Incluimos el project OutPut el proyecto Class Library que hemos dado de alta. Sobre el proyecto de setup Add->Project Output…

      Paso 2.A Añadir al project Output en el Setup Project

    2. Accedemos a la Vista de Custom Actions. Sobre el proyecto de setup View->Custom Actions

      Paso 2.B Acceder a Custom Actions

    3. Incluimos en la vista de Custom Actions sobre Install. En la Vista Custom Actions sobre el paso Install Add Custom Action…

      Paso 2.C Añadir la Custom Action creada en el Paso 1

    4. Indicamos en las Propiedades de la Custom Action, los parámetros que va recibir para realizar la acción de setup custom
      Editamos la propiedad CustomActionData de la Custom Action
      Los parámetros que reciben son clave más variable. Por ejemplo:
      /targetdir=”[TARGETDIR]\” /targetvdir=”[TARGETVDIR]” /targetsite=”[TARGETSITE]” /textBox1=”[EDITA1]”

      [TARGETDIR] Ruta donde los ficheros se van a copiar
      [TARGETVDIR] Nombre del directorio virual en el IIS de la aplicación.
      [TARGETAPPPOOL] Nombre del pool del IIS de la aplicación.
      [TARGETSITE] Site donde de donde colgara el directorio.
      [COMPANYNAME] Nombre de la Empresa
      [(EDITBOX PROPERTY)] Nombre que se le dio al textbox en la propiedad editPropery en los formularios diálogos.
      Tenemos en el siguiente link más variables relacionadas con la instalaci&ocute;n:
      Referencia de Propiedades de Setup Project
      Para leerlas en la clase creada en el paso 1.

          this.Context.Parameters["clave"]);
      

Añadir los diferentes paquetes de prerequisitos

  1. Hemos de ir al menú contextual del proyecto Properties
    Paso 1 Propiedades del Proyecto

    Paso 1 Propiedades del Proyecto

  2. Pulsamos el botón Prerequisites… y seleccionamos los paquetes con el modo de instalación deseado
    Paso2 Seleccionar los paquetes necesarios

    Paso2 Seleccionar los paquetes necesarios

En resumen si bien el proyecto de setup inicial es bastante limitado; podemos llegar a extenderlo añadiendo múltiples modificaciones.

Anuncios
Esta entrada fue publicada en Desarrollo, web y etiquetada . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s