Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Installer (Clase)

Proporciona la base para las instalaciones personalizadas.

Espacio de nombres:  System.Configuration.Install
Ensamblado:  System.Configuration.Install (en System.Configuration.Install.dll)

public class Installer : Component

El tipo Installer expone los siguientes miembros.

  NombreDescripción
Método públicoInstallerInicializa una nueva instancia de la clase Installer.
Arriba

  NombreDescripción
Propiedad protegidaCanRaiseEventsObtiene un valor que indica si el componente puede generar un evento. (Se hereda de Component).
Propiedad públicaContainerObtiene IContainer que contiene Component. (Se hereda de Component).
Propiedad públicaContextObtiene o establece información sobre la instalación actual.
Propiedad protegidaDesignModeObtiene un valor que indica si Component está actualmente en modo de diseño. (Se hereda de Component).
Propiedad protegidaEventsObtiene la lista de controladores de eventos asociados a Component. (Se hereda de Component).
Propiedad públicaHelpTextObtiene el texto de ayuda de todos los instaladores que se encuentran en la colección de instaladores.
Propiedad públicaInstallersObtiene la colección de instaladores que contiene este instalador.
Propiedad públicaParentObtiene o establece el instalador que contiene la colección a la que pertenece este instalador.
Propiedad públicaSiteObtiene o establece ISite de Component. (Se hereda de Component).
Arriba

  NombreDescripción
Método públicoCommitCuando se reemplaza en una clase derivada, finaliza la transacción de instalación.
Método públicoCreateObjRefCrea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
Método públicoDispose()Libera todos los recursos utilizados por Component. (Se hereda de Component).
Método protegidoDispose(Boolean)Libera los recursos no administrados que utiliza Component y libera los recursos administrados de forma opcional. (Se hereda de Component).
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoFinalizeLibera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el objeto Component durante la recolección de elementos no utilizados. (Se hereda de Component).
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetLifetimeServiceRecupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método protegidoGetServiceDevuelve un objeto que representa el servicio suministrado por Component o por Container. (Se hereda de Component).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoInitializeLifetimeServiceObtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método públicoInstallCuando se reemplaza en una clase derivada, se lleva a cabo la instalación.
Método protegidoMemberwiseClone() Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoMemberwiseClone(Boolean)Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método protegidoOnAfterInstallGenera el evento AfterInstall.
Método protegidoOnAfterRollbackGenera el evento AfterRollback.
Método protegidoOnAfterUninstallGenera el evento AfterUninstall.
Método protegidoOnBeforeInstallGenera el evento BeforeInstall.
Método protegidoOnBeforeRollbackGenera el evento BeforeRollback.
Método protegidoOnBeforeUninstallGenera el evento BeforeUninstall.
Método protegidoOnCommittedGenera el evento Committed.
Método protegidoOnCommittingGenera el evento Committing.
Método públicoRollbackCuando se reemplaza en una clase derivada, restaura el estado en el que estaba el equipo antes de la instalación.
Método públicoToStringDevuelve un objeto String que contiene el nombre del objeto Component, en caso de que exista. Este método no debe reemplazarse. (Se hereda de Component).
Método públicoUninstallCuando se reemplaza en una clase derivada, quita una instalación.
Arriba

  NombreDescripción
Evento públicoAfterInstallSe produce después de ejecutarse los métodos Install de todos los instaladores de la propiedad Installers.
Evento públicoAfterRollbackSe produce después de deshacerse la instalación de todos los instaladores de la propiedad Installers.
Evento públicoAfterUninstallSe produce después de que todos los instaladores de la propiedad Installers realicen sus operaciones de desinstalación.
Evento públicoBeforeInstallSe produce antes de ejecutarse el método Install de cada instalador en la colección de instaladores.
Evento públicoBeforeRollbackSe produce antes de deshacerse los instaladores de la propiedad Installers.
Evento públicoBeforeUninstallSe produce antes de que los instaladores de la propiedad Installers realicen sus operaciones de desinstalación.
Evento públicoCommittedSe produce después de que todos los instaladores de la propiedad Installers confirmen sus instalaciones.
Evento públicoCommittingSe produce antes de que los instaladores de la propiedad Installers confirmen sus instalaciones.
Evento públicoDisposedSe produce cuando el componente se elimina mediante una llamada al método Dispose. (Se hereda de Component).
Arriba

Ésta es la clase base para todos los instaladores personalizados de .NET Framework. Los instaladores son componentes que ayudan a instalar las aplicaciones en un equipo.

Es preciso seguir varios pasos para poder utilizar un Installer:

  • Herede la clase Installer.

  • Reemplace los métodos Install, Commit, Rollback y Uninstall.

  • Agregue RunInstallerAttribute a la clase derivada y establezca su valor en true.

  • Coloque la clase derivada en el ensamblado con la aplicación que desea instalar.

  • Invoque a los instaladores. Por ejemplo, utilice InstallUtil.exe para invocar a los instaladores.

La propiedad Installers contiene una colección de instaladores. Si esta instancia de Installer forma parte de una colección de instaladores, la propiedad Parent se establecerá en la instancia de Installer que contenga la colección. Para obtener un ejemplo del uso de la colección Installers, vea la clase AssemblyInstaller.

Los métodos Install, Commit, Rollback y Uninstall de la clase Installer recorren la colección de instaladores almacenada en la propiedad Installers e invocan al correspondiente método de cada instalador.

No siempre se llama a los métodos Install, Commit, Rollback y Uninstall en la misma instancia de Installer. Por ejemplo, se puede usar una instancia de Installer al instalar y confirmar una aplicación y, a continuación, se libera la referencia a dicha instancia. Más adelante, al desinstalar la aplicación se crea una referencia a una nueva instancia de Installer, lo cual significa que otra instancia de Installer llama al método Uninstall. Por este motivo, en la clase derivada, no es aconsejable guardar el estado de un equipo en un instalador. En lugar de ello, utilice un objeto IDictionary que se conserva en las llamadas y se pasa a los métodos Install, Commit, Rollback y Uninstall.

Existen dos situaciones en las que se muestra la necesidad de guardar la información en el objeto IDictionary donde se guardan los estados. En la primera, supongamos que el instalador establece una clave del Registro. Se debe guardar el valor original de la clave en IDictionary. Si se deshace la instalación, se podrá restaurar el valor original. En la segunda, supongamos que el instalador reemplaza un archivo existente. Guarde el archivo existente en un directorio temporal y la nueva ubicación del archivo en IDictionary. Si se deshace la instalación, el archivo más reciente se eliminará y será reemplazado por el archivo original en la ubicación temporal.

La propiedad Installer.Context contiene información sobre la instalación. Por ejemplo, información relacionada con la ubicación del archivo de registro de la instalación, la ubicación del archivo para guardar la información que requiere el método Uninstall y la línea de comandos que se especificó al ejecutar el ejecutable de instalación.

En el siguiente ejemplo se muestra cómo utilizar la clase Installer. Crea una clase que se hereda de Installer. Cuando Commit está a punto de finalizar, se produce el evento Committing y se muestra un mensaje.


using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;

// Set 'RunInstaller' attribute to true.
[RunInstaller(true)]
public class MyInstallerClass: Installer
{
   public MyInstallerClass() :base()
   {
      // Attach the 'Committed' event.
      this.Committed += new InstallEventHandler(MyInstaller_Committed);
      // Attach the 'Committing' event.
      this.Committing += new InstallEventHandler(MyInstaller_Committing);

   }
   // Event handler for 'Committing' event.
   private void MyInstaller_Committing(object sender, InstallEventArgs e)
   {
      Console.WriteLine("");
      Console.WriteLine("Committing Event occured.");
      Console.WriteLine("");
   }
   // Event handler for 'Committed' event.
   private void MyInstaller_Committed(object sender, InstallEventArgs e)
   {
      Console.WriteLine("");
      Console.WriteLine("Committed Event occured.");
      Console.WriteLine("");
   }
   // Override the 'Install' method.
   public override void Install(IDictionary savedState)
   {
      base.Install(savedState);
   }
   // Override the 'Commit' method.
   public override void Commit(IDictionary savedState)
   {
      base.Commit(savedState);
   }
   // Override the 'Rollback' method.
   public override void Rollback(IDictionary savedState)
   {
      base.Rollback(savedState);
   }
   public static void Main()
   {
      Console.WriteLine("Usage : installutil.exe Installer.exe ");
   }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft