Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase Installer

 

Publicado: noviembre de 2016

Proporciona la base para las instalaciones personalizadas.

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


public ref class Installer : Component

NombreDescripción
System_CAPS_pubmethodInstaller()

Inicializa una nueva instancia de la clase Installer.

NombreDescripción
System_CAPS_protpropertyCanRaiseEvents

Obtiene un valor que indica si el componente puede provocar un evento.(Heredado de Component).

System_CAPS_pubpropertyContainer

Obtiene IContainer que contiene Component.(Heredado de Component).

System_CAPS_pubpropertyContext

Obtiene o establece información sobre la instalación actual.

System_CAPS_protpropertyDesignMode

Obtiene un valor que indica si la Component está actualmente en modo de diseño.(Heredado de Component).

System_CAPS_protpropertyEvents

Obtiene la lista de controladores de eventos que se adjuntará a este Component.(Heredado de Component).

System_CAPS_pubpropertyHelpText

Obtiene el texto de ayuda de todos los instaladores que se encuentran en la colección de instaladores.

System_CAPS_pubpropertyInstallers

Obtiene la colección de instaladores que contiene este instalador.

System_CAPS_pubpropertyParent

Obtiene o establece el instalador que contiene la colección a la que pertenece este instalador.

System_CAPS_pubpropertySite

Obtiene o establece la ISite de la Component.(Heredado de Component).

NombreDescripción
System_CAPS_pubmethodCommit(IDictionary^)

Cuando se reemplaza en una clase derivada, finaliza la transacción de instalación.

System_CAPS_pubmethodCreateObjRef(Type^)

Crea un objeto que contiene toda la información pertinente necesaria para generar a un proxy utilizado para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodDispose()

Libera todos los recursos que usa Component.(Heredado de Component).

System_CAPS_protmethodDispose(Boolean)

Libera los recursos no administrados que usa Component y libera los recursos administrados de forma opcional.(Heredado de Component).

System_CAPS_pubmethodEquals(Object^)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Libera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el elemento Component durante la recolección de elementos no usados.(Heredado de Component).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_protmethodGetService(Type^)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.(Heredado de Component).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodInitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodInstall(IDictionary^)

Cuando se reemplaza en una clase derivada, se lleva a cabo la instalación.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficial del actual MarshalByRefObject objeto.(Heredado de MarshalByRefObject).

System_CAPS_protmethodOnAfterInstall(IDictionary^)

Genera el evento AfterInstall.

System_CAPS_protmethodOnAfterRollback(IDictionary^)

Genera el evento AfterRollback.

System_CAPS_protmethodOnAfterUninstall(IDictionary^)

Genera el evento AfterUninstall.

System_CAPS_protmethodOnBeforeInstall(IDictionary^)

Genera el evento BeforeInstall.

System_CAPS_protmethodOnBeforeRollback(IDictionary^)

Genera el evento BeforeRollback.

System_CAPS_protmethodOnBeforeUninstall(IDictionary^)

Genera el evento BeforeUninstall.

System_CAPS_protmethodOnCommitted(IDictionary^)

Genera el evento Committed.

System_CAPS_protmethodOnCommitting(IDictionary^)

Genera el evento Committing.

System_CAPS_pubmethodRollback(IDictionary^)

Cuando se reemplaza en una clase derivada, restaura el estado en el que estaba el equipo antes de la instalación.

System_CAPS_pubmethodToString()

Devuelve un String que contiene el nombre de la Component, si existe. Este método no se debe invalidar.(Heredado de Component).

System_CAPS_pubmethodUninstall(IDictionary^)

Cuando se reemplaza en una clase derivada, quita una instalación.

NombreDescripción
System_CAPS_pubeventAfterInstall

Se produce después de ejecutarse los métodos Install de todos los instaladores de la propiedad Installers.

System_CAPS_pubeventAfterRollback

Se produce después de deshacerse la instalación de todos los instaladores de la propiedad Installers.

System_CAPS_pubeventAfterUninstall

Se produce después de que todos los instaladores de la propiedad Installers realicen sus operaciones de desinstalación.

System_CAPS_pubeventBeforeInstall

Se produce antes de ejecutarse el método Install de cada instalador en la colección de instaladores.

System_CAPS_pubeventBeforeRollback

Se produce antes de deshacerse los instaladores de la propiedad Installers.

System_CAPS_pubeventBeforeUninstall

Se produce antes de que los instaladores de la propiedad Installers realicen sus operaciones de desinstalación.

System_CAPS_pubeventCommitted

Se produce después de que todos los instaladores de la propiedad Installers confirmen sus instalaciones.

System_CAPS_pubeventCommitting

Se produce antes de que los instaladores de la propiedad Installers confirmen sus instalaciones.

System_CAPS_pubeventDisposed

Se produce cuando el componente se elimina mediante una llamada a la Dispose (método).(Heredado de Component).

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

Hay varios pasos que debe seguir para utilizar un Installer:

  • Heredar la Installer clase.

  • Invalidar el Install, Commit, Rollback, y Uninstall métodos.

  • Agregue el RunInstallerAttribute a la derivada de clase y establézcalo en true.

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

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

El Installers propiedad contiene una colección de instaladores. Si esta instancia de Installer forma parte de una colección de instaladores, el Parent propiedad se establece en el Installer instancia que contiene la colección. Para obtener un ejemplo del uso de la Installers colección, consulte la AssemblyInstaller clase.

El Install, Commit, Rollback, y Uninstall métodos de la Installer clase recorrer la colección de instaladores almacenada en la Installers propiedad y se invoca el método correspondiente de cada instalador.

El Install, Commit, Rollback, y Uninstall métodos no siempre se llama en el mismo Installer instancia. Por ejemplo, una Installer instancia podría utilizarse al instalar y confirmar una aplicación y, a continuación, se libera la referencia a esa instancia. Más adelante, al desinstalar la aplicación crea una referencia a un nuevo Installer instancia, lo que significa que el Uninstall método es invocado por una instancia diferente de Installer. Por este motivo, en la clase derivada, no guarde el estado de un equipo en un instalador. En su lugar, use un IDictionary que se conserva en las llamadas y se pasa en su Install, Commit, Rollback, y Uninstall métodos.

Dos situaciones ilustran la necesidad de guardar información en el protector de estado IDictionary. En primer lugar, suponga que el instalador establece una clave del registro. Se debe guardar el valor original de la clave en el IDictionary. Si se deshace la instalación, se puede restaurar el valor original. En segundo lugar, suponga que el instalador reemplaza un archivo existente. Guarde el archivo existente en un directorio temporal y la ubicación de la nueva ubicación del archivo en el IDictionary. Si se deshace la instalación, el archivo más reciente se eliminan y se reemplazan por el original de la ubicación temporal.

El Installer::Context propiedad contiene información sobre la instalación. Por ejemplo, información sobre la ubicación del archivo de registro para la instalación, la ubicación del archivo para guardar la información requerida por la Uninstall (método) y la línea de comandos que se especificó al ejecuta el ejecutable de instalación.

En el ejemplo siguiente se muestra el uso de la Installer clase. Crea una clase que hereda de Installer. Cuando Commit está a punto de terminar, Committing se produce el evento y se muestra un mensaje. Usar el Installer (clase), debe hacer referencia a la System.Configuration.Install ensamblado del proyecto.

#using <System.dll>
#using <System.Configuration.Install.dll>

using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::Configuration::Install;

// Set 'RunInstaller' attribute to true.

[RunInstaller(true)]
ref class MyInstallerClass: public Installer
{
private:

   // Event handler for 'Committing' event.
   void MyInstaller_Committing( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "Committing Event occured." );
      Console::WriteLine( "" );
   }


   // Event handler for 'Committed' event.
   void MyInstaller_Committed( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "Committed Event occured." );
      Console::WriteLine( "" );
   }


public:
   MyInstallerClass()
   {

      // Attach the 'Committed' event.
      this->Committed += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_Committed );

      // Attach the 'Committing' event.
      this->Committing += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_Committing );
   }


   // Override the 'Install' method.
   virtual void Install( IDictionary^ savedState ) override
   {
      Installer::Install( savedState );
   }


   // Override the 'Commit' method.
   virtual void Commit( IDictionary^ savedState ) override
   {
      Installer::Commit( savedState );
   }


   // Override the 'Rollback' method.
   virtual void Rollback( IDictionary^ savedState ) override
   {
      Installer::Rollback( savedState );
   }

};

int main()
{
   Console::WriteLine( "Usage : installutil.exe Installer.exe " );
}

.NET Framework
Disponible desde 1.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: