Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

InstallException-Klasse

Die Ausnahme, die ausgelöst wird, wenn während der Commit-, Rollback- oder Deinstallationsphase einer Installation ein Fehler auftritt.

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

Namespace:  System.Configuration.Install
Assembly:  System.Configuration.Install (in System.Configuration.Install.dll)
[SerializableAttribute]
public class InstallException : SystemException

Der InstallException-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeInstallException()Initialisiert eine neue Instanz der InstallException-Klasse.
Öffentliche MethodeInstallException(String)Initialisiert eine neue Instanz der InstallException-Klasse und legt die Meldung fest, die dem Benutzer angezeigt wird.
Geschützte MethodeInstallException(SerializationInfo, StreamingContext)Infrastruktur. Initialisiert eine neue Instanz der InstallException-Klasse mit serialisierten Daten.
Öffentliche MethodeInstallException(String, Exception)Initialisiert eine neue Instanz der InstallException-Klasse und gibt die dem Benutzer anzuzeigende Meldung sowie einen Verweis auf die innere Ausnahme an, die diese Ausnahme ausgelöst hat.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftDataRuft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zu der Ausnahme bereitstellen. (Von Exception geerbt.)
Öffentliche EigenschaftHelpLinkRuft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest. (Von Exception geerbt.)
Öffentliche EigenschaftHResultRuft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist. (Von Exception geerbt.)
Öffentliche EigenschaftInnerExceptionRuft die Exception-Instanz ab, die die aktuelle Ausnahme verursachte. (Von Exception geerbt.)
Öffentliche EigenschaftMessageRuft eine Meldung ab, die die aktuelle Ausnahme beschreibt. (Von Exception geerbt.)
Öffentliche EigenschaftSourceGibt den Namen der Anwendung oder des Objekts zurück, das den Fehler verursacht hat, oder legt diesen fest. (Von Exception geerbt.)
Öffentliche EigenschaftStackTraceRuft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab. (Von Exception geerbt.)
Öffentliche EigenschaftTargetSiteRuft die Methode ab, die die aktuelle Ausnahme auslöst. (Von Exception geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetBaseExceptionGibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die ursprüngliche Ursache für eine oder mehrere nachfolgende Ausnahmen ist. (Von Exception geerbt.)
Öffentliche MethodeGetHashCodeFungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche MethodeGetObjectDataLegt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest. (Von Exception geerbt.)
Öffentliche MethodeGetTypeRuft den Laufzeittyp der aktuellen Instanz ab. (Von Exception geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeToStringErstellt eine Zeichenfolgenentsprechung der aktuellen Ausnahme und gibt diese zurück. (Von Exception geerbt.)
Zum Seitenanfang
  NameBeschreibung
Geschütztes EreignisSerializeObjectStateTritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt zu erstellen, das serialisierte Daten für die Ausnahme enthält. (Von Exception geerbt.)
Zum Seitenanfang

Das folgende Beispiel zeigt zusammen mit den Beispielen in den InstallException-Konstruktoren eine Assembly mit ihrem eigenen Installationsprogramm. Das Installationsprogramm hat den Namen MyInstaller und verfügt über das Attribut RunInstallerAttribute, mit dem angegeben wird, dass dieses Installationsprogramm durch Installutil.exe (Installer-Tool) aufgerufen wird. Installutil.exe (Installer-Tool) ruft die Methoden Commit, Rollback, Install und Uninstall auf. Im Code von Commit wird vorausgesetzt, dass die Datei FileDoesNotExist.txt vorhanden ist, bevor ein Commit der Assemblyinstallation ausgeführt werden kann. Wenn die Datei FileDoesNotExist.txt nicht vorhanden ist, löst Commit eine InstallException aus. Dies gilt ebenfalls für Uninstall, bei dem eine Deinstallation nur dann stattfindet, wenn eine Datei mit dem Namen FileDoesNotExist.txt vorhanden ist. Andernfalls wird eine InstallException ausgelöst. In Rollback wird ein Codefragment ausgeführt, durch das eine Ausnahme ausgelöst werden kann. Wird die Ausnahme ausgelöst, wird sie abgefangen, und es wird eine InstallException ausgelöst, an die diese Ausnahme übergeben wird.

HinweisHinweis

Führen Sie dieses Beispiel mithilfe von "Installutil.exe" aus. Geben Sie an der Eingabeaufforderung Folgendes ein:

Installutil InstallException.exe

- oder -

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

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.