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

InstallException (Clase)

Excepción que se produce cuando se genera un error durante la fase en la que se confirma, se revierte o se desinstala una instalación.

System.Object
  System.Exception
    System.SystemException
      System.Configuration.Install.InstallException

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

[SerializableAttribute]
public class InstallException : SystemException

El tipo InstallException expone los siguientes miembros.

  NombreDescripción
Método públicoInstallException()Inicializa una nueva instancia de la clase InstallException.
Método públicoInstallException(String)Inicializa una nueva instancia de la clase InstallException y especifica el mensaje que se va a mostrar al usuario.
Método protegidoInstallException(SerializationInfo, StreamingContext)Infraestructura. Inicializa una nueva instancia de la clase InstallException con datos serializados.
Método públicoInstallException(String, Exception)Inicializa una nueva instancia de la clase InstallException y especifica el mensaje que se va a mostrar al usuario y una referencia a la excepción interna que ha provocado esta excepción.
Arriba

  NombreDescripción
Propiedad públicaDataObtiene una colección de pares clave-valor que proporcionan información adicional definida por el usuario acerca de la excepción. (Se hereda de Exception).
Propiedad públicaHelpLinkObtiene o establece un vínculo al archivo de ayuda asociado a esta excepción. (Se hereda de Exception).
Propiedad públicaHResultObtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica. (Se hereda de Exception).
Propiedad públicaInnerExceptionObtiene la instancia Exception que produjo la excepción actual. (Se hereda de Exception).
Propiedad públicaMessageObtiene un mensaje que describe la excepción actual. (Se hereda de Exception).
Propiedad públicaSourceDevuelve o establece el nombre de la aplicación o del objeto que generó el error. (Se hereda de Exception).
Propiedad públicaStackTraceObtiene una representación de cadena de los marcos inmediatos en la pila de llamadas. (Se hereda de Exception).
Propiedad públicaTargetSiteObtiene el método que produjo la excepción actual. (Se hereda de Exception).
Arriba

  NombreDescripción
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetBaseExceptionCuando se reemplaza en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores. (Se hereda de Exception).
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetObjectDataCuando se reemplaza en una clase derivada, establece SerializationInfo con información sobre la excepción. (Se hereda de Exception).
Método públicoGetTypeObtiene el tipo en tiempo de ejecución de la instancia actual. (Se hereda de Exception).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoToStringCrea y devuelve una representación de cadena de la excepción actual. (Se hereda de Exception).
Arriba

  NombreDescripción
Evento protegidoSerializeObjectStateSe produce cuando se serializa una excepción para crear un objeto de estados de excepción que contiene datos serializados sobre la excepción. (Se hereda de Exception).
Arriba

El siguiente ejemplo, junto con los de los constructores InstallException, constituye un ejemplo mayor en el que se muestra un ensamblado con su propio instalador. El instalador se denomina MyInstaller y tiene un atributo RunInstallerAttribute que indica que Installutil.exe (Herramienta Installer) será el que le llame. Installutil.exe (Herramienta Installer) llama a los métodos Commit, Rollback, Install y Uninstall. En el código de Commit se presupone que existe un archivo denominado FileDoesNotExist.txt para que pueda confirmarse la instalación del ensamblado. Si el archivo FileDoesNotExist.txt no existe, Commit produce una excepción InstallException. Lo mismo ocurre con Uninstall, en el que sólo se realizará una desinstalación si existe un archivo denominado FileDoesNotExist.txt. De lo contrario, provoca InstallException. En Rollback, se ejecuta un fragmento de código, que puede provocar una excepción. Si se produce la excepción, se detecta y se provoca InstallException con la excepción que se ha pasado.

NotaNota

Ejecute este ejemplo con la ayuda del programa Installutil.exe. Escriba lo siguiente en el símbolo del sistema:

Installutil InstallException.exe

O bien

Installutil /u InstallException.exe


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


[RunInstaller(true)]
public class MyInstaller : Installer
{
   public override void Install(IDictionary savedState)
   {
      base.Install(savedState);
      Console.WriteLine("Install ...");

      // Commit is called when install goes through successfully.
      // Rollback is called if there is any error during Install.

      // Uncommenting the code below will lead to 'RollBack' being called,
      // currently 'Commit' shall be called.

      // throw new IOException();
   }

   public override void Commit(IDictionary savedState)
   {
      base.Commit(savedState);
      Console.WriteLine("Commit ...");
      // Throw an error if a particular file doesn't exist.
      if(!File.Exists("FileDoesNotExist.txt"))
         throw new InstallException();
      // Perform the final installation if the file exists.
   }

   public override void Rollback(IDictionary savedState)
   {
      base.Rollback(savedState);
      Console.WriteLine("RollBack ...");
      try
      {
         // Performing some activity during rollback that raises an 'IOException'.
         throw new IOException();
      }
      catch(Exception e)
      {
         throw new InstallException("IOException raised", e);
      }
      // Perform the remaining rollback activites if no exception raised.
   }

   public override void Uninstall(IDictionary savedState)
   {
      base.Uninstall(savedState);
      Console.WriteLine("UnInstall ...");
      // Throw an error if a particular file doesn't exist.
      if(!File.Exists("FileDoesNotExist.txt"))
         throw new InstallException("The file 'FileDoesNotExist'" +
            " does not exist");
      // Perform the uninstall activites if the file exists.
   }
}


// An Assembly that has its own installer.
public class MyAssembly1
{
   public static void Main()
   {
      Console.WriteLine("This assembly is just an example for the Installer");
   }
}


.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