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 InstallException

 

Publicado: octubre de 2016

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.

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

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

[SerializableAttribute]
public class InstallException : SystemException

NombreDescripción
System_CAPS_pubmethodInstallException()

Inicializa una nueva instancia de la clase InstallException.

System_CAPS_protmethodInstallException(SerializationInfo, StreamingContext)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Inicializa una nueva instancia de la clase InstallException con datos serializados.

System_CAPS_pubmethodInstallException(String)

Inicializa una nueva instancia de la InstallException clase y especifica el mensaje que se mostrará al usuario.

System_CAPS_pubmethodInstallException(String, Exception)

Inicializa una nueva instancia de la InstallException clase y especifica el mensaje para mostrar al usuario y una referencia a la excepción interna que es la causa de esta excepción.

NombreDescripción
System_CAPS_pubpropertyData

Obtiene una colección de pares clave-valor que proporcionan más información definida por el usuario sobre la excepción.(Heredado de Exception).

System_CAPS_pubpropertyHelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.(Heredado de Exception).

System_CAPS_pubpropertyHResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.(Heredado de Exception).

System_CAPS_pubpropertyInnerException

Obtiene la instancia Exception que produjo la excepción actual.(Heredado de Exception).

System_CAPS_pubpropertyMessage

Obtiene un mensaje que describe la excepción actual.(Heredado de Exception).

System_CAPS_pubpropertySource

Devuelve o establece el nombre de la aplicación o del objeto que generó el error.(Heredado de Exception).

System_CAPS_pubpropertyStackTrace

Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.(Heredado de Exception).

System_CAPS_pubpropertyTargetSite

Obtiene el método que produjo la excepción actual.(Heredado de Exception).

NombreDescripción
System_CAPS_pubmethodEquals(Object)

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

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetBaseException()

Cuando se invalida en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.(Heredado de Exception).

System_CAPS_pubmethodGetHashCode()

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

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Cuando se invalida en una clase derivada, establece SerializationInfo con información sobre la excepción.(Heredado de Exception).

System_CAPS_pubmethodGetType()

Obtiene el tipo en tiempo de ejecución de la instancia actual.(Heredado de Exception).

System_CAPS_protmethodMemberwiseClone()

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

System_CAPS_pubmethodToString()

Crea y devuelve una representación de cadena de la excepción actual.(Heredado de Exception).

NombreDescripción
System_CAPS_proteventSerializeObjectState

Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.(Heredado de Exception).

En el siguiente ejemplo, además de los ejemplos de la InstallException constructores, componen un ejemplo que muestra un ensamblado con su propio instalador. El instalador se denomina MyInstaller, que tiene un atributo RunInstallerAttribute, lo que indica que este instalador se invocarán por Installutil.exe (Installer Tool). Installutil.exe (Installer Tool) llama a los métodos Commit, Rollback, Install y Uninstall. El código de Commit se da por supuesto que el nombre de un archivo FileDoesNotExist.txt existe antes de que se pueda confirmar la instalación del ensamblado. Si el archivo FileDoesNotExist.txt no existe, Commit genera una InstallException. El mismo es el caso de Uninstall en que se realizará una desinstalación sólo si un archivo denominado FileDoesNotExist.txt existe. De lo contrario, genera un InstallException. En Rollback, se ejecuta un fragmento de código, lo que puede provocar una excepción. Si se produce la excepción, ésta se captura y un InstallException se genera con la excepción que se pasa a él.

System_CAPS_noteNota

Ejecute este ejemplo con la Ayuda de Installutil.exe. En el símbolo del sistema, escriba lo siguiente:

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
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: