Freigeben über


UninstallAction-Enumeration

Gibt an, welche Aktionen ein Installationsprogramm während einer Deinstallation ausführen soll.

Namespace: System.Configuration.Install
Assembly: System.Configuration.Install (in system.configuration.install.dll)

Syntax

'Declaration
Public Enumeration UninstallAction
'Usage
Dim instance As UninstallAction
public enum UninstallAction
public enum class UninstallAction
public enum UninstallAction
public enum UninstallAction

Member

  Membername Beschreibung
NoAction Die vom Installationsprogramm erstellte Ressource bleibt unverändert. 
Remove Die vom Installationsprogramm erstellte Ressource wird entfernt. 

Beispiel

Im folgenden Beispiel wird ein benutzerdefiniertes Deinstallationsprogramm erstellt, das die Installer-Klasse erbt. In der überschriebenen Uninstall-Funktion wird die UninstallAction-Enumeration anhand von Benutzereingaben festgelegt. Wenn die Eingabe "n" lautet, führt das Deinstallationsprogramm keine Aktionen für die Ressource im vom Benutzer eingegebenen Ereignisprotokoll aus. Andernfalls wird die Ressource aus dem Ereignisprotokoll entfernt.

Imports System
Imports System.Diagnostics
Imports System.Collections
Imports System.ComponentModel
Imports System.Configuration.Install

<RunInstaller(True)>  _
Public Class MyUninstallActionClass
   Inherits Installer
   Private myInstaller As New EventLogInstaller()

   ' Override the 'Install' method.
   Public Overrides Sub Install(savedState As IDictionary)
      Console.Write("Enter a new log to create (eg: MyLog ): ")
      myInstaller.Log = Console.ReadLine()
      Console.Write("Enter a source for log (eg: MySource ): ")
      myInstaller.Source = Console.ReadLine()
      Installers.Add(myInstaller)
      MyBase.Install(savedState)
   End Sub 'Install

   ' Override the 'Commit' method.
   Public Overrides Sub Commit(savedState As IDictionary)
      MyBase.Commit(savedState)
   End Sub 'Commit

   ' Override the 'Rollback' method.
   Public Overrides Sub Rollback(savedState As IDictionary)
      MyBase.Rollback(savedState)
   End Sub 'Rollback

   Public Overrides Sub Uninstall(savedState As IDictionary)

      Console.Write("Enter a source from log to uninstall(eg: MySource ): ")
      myInstaller.Source = Console.ReadLine()

      Console.Write("Do you want to uninstall, press 'y' for 'YES' and 'n' for 'NO':")
      Dim myUninstall As String = Console.ReadLine()

      If myUninstall = "n" Then
         ' No action to be taken on the resource in the event log.
         myInstaller.UninstallAction = System.Configuration.Install.UninstallAction.NoAction
      Else
         ' Remove the resource from the event log.
         myInstaller.UninstallAction = System.Configuration.Install.UninstallAction.Remove
      End If
      Installers.Add(myInstaller)
      MyBase.Uninstall(savedState)
   End Sub 'Uninstall

   Public Shared Sub Main()
      Console.WriteLine("Syntax for install: installutil.exe "+ _
                        "UninstallAction_NoAction_Remove_3.exe ")
      Console.WriteLine("Syntax for uninstall: installutil.exe /u " + _
                        "UninstallAction_NoAction_Remove_3.exe ")
   End Sub 'Main

End Class 'MyUninstallActionClass
using System;
using System.Diagnostics;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;

[RunInstaller(true)]
public class MyUninstallActionClass : Installer 
{
   EventLogInstaller myInstaller = new EventLogInstaller();
   
   // Override the 'Install' method.
   public override void Install(IDictionary savedState)
   {
      Console.Write("Enter a new log to create (eg: MyLog ): ");
      myInstaller.Log = Console.ReadLine();
      Console.Write("Enter a source for log (eg: MySource ): ");
      myInstaller.Source = Console.ReadLine();
      Installers.Add( myInstaller );
      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 override void Uninstall(IDictionary savedState)
   {
      Console.Write("Enter a source from log to uninstall(eg: MySource ): ");
      myInstaller.Source = Console.ReadLine();

      Console.Write("Do you want to uninstall, press 'y' for 'YES' and 'n' for 'NO':");
      string myUninstall = Console.ReadLine();
     
      if( myUninstall == "n" )
      {
         // No action to be taken on the resource in the event log.
         myInstaller.UninstallAction = System.Configuration.Install.UninstallAction.NoAction;
      }
      else
      {
         // Remove the resource from the event log.
         myInstaller.UninstallAction = System.Configuration.Install.UninstallAction.Remove;
      }
      Installers.Add( myInstaller );
      base.Uninstall(savedState);
   }
   public static void Main()
   {
      Console.WriteLine("Syntax for install: installutil.exe UninstallAction_NoAction_Remove_3.exe ");
      Console.WriteLine("Syntax for uninstall: installutil.exe /u "
         +"UninstallAction_NoAction_Remove_3.exe ");
   }

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

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

[RunInstaller(true)]
ref class MyUninstallActionClass: public Installer
{
private:
   EventLogInstaller^ myInstaller;

public:
   MyUninstallActionClass()
   {
      myInstaller = gcnew EventLogInstaller;
   }


   // Override the 'Install' method.
   virtual void Install( IDictionary^ savedState ) override
   {
      Console::Write( "Enter a new log to create (eg: MyLog): " );
      myInstaller->Log = Console::ReadLine();
      Console::Write( "Enter a source for log (eg: MySource): " );
      myInstaller->Source = Console::ReadLine();
      Installers->Add( myInstaller );
      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 );
   }


   virtual void Uninstall( IDictionary^ savedState ) override
   {
      Console::Write( "Enter a source from log to uninstall(eg: MySource): " );
      myInstaller->Source = Console::ReadLine();
      Console::Write( "Do you want to uninstall, press 'y' for 'YES' and 'n' for 'NO':" );
      String^ myUninstall = Console::ReadLine();
      if ( myUninstall->Equals( "n" ) )
      {
         
         // No action to be taken on the resource in the event log.
         myInstaller->UninstallAction = UninstallAction::NoAction;
      }
      else
      {
         
         // Remove the resource from the event log.
         myInstaller->UninstallAction = UninstallAction::Remove;
      }

      Installers->Add( myInstaller );
      Installer::Uninstall( savedState );
   }

};

int main()
{
   Console::WriteLine( "Syntax for install: installutil.exe UninstallAction_NoAction_Remove_3.exe " );
   Console::WriteLine( "Syntax for uninstall: installutil.exe /u UninstallAction_NoAction_Remove_3.exe " );
}
import System.*;
import System.Diagnostics.*;
import System.Collections.*;
import System.ComponentModel.*;
import System.Configuration.Install.*;

/** @attribute RunInstaller(true)
 */
public class MyUninstallActionClass extends Installer
{
    private EventLogInstaller myInstaller = new EventLogInstaller();

    // Override the 'Install' method.
    public void Install(IDictionary savedState)
    {
        Console.Write("Enter a new log to create (eg: MyLog ): ");
        myInstaller.set_Log(Console.ReadLine());
        Console.Write("Enter a source for log (eg: MySource ): ");
        myInstaller.set_Source(Console.ReadLine());
        get_Installers().Add(myInstaller);
        super.Install(savedState);
    } //Install

    // Override the 'Commit' method.
    public void Commit(IDictionary savedState)
    {
        super.Commit(savedState);
    } //Commit

    // Override the 'Rollback' method.
    public void Rollback(IDictionary savedState)
    {
        super.Rollback(savedState);
    } //Rollback

    public void Uninstall(IDictionary savedState)
    {
        Console.Write("Enter a source from log to uninstall(eg: MySource ): ");
        myInstaller.set_Source(Console.ReadLine());

        Console.Write("Do you want to uninstall, press 'y' for 'YES' and 'n'" 
            + " for 'NO':");
        String myUninstall = Console.ReadLine();

        if (myUninstall.Equals("n")) {
            // No action to be taken on the resource in the event log.
            myInstaller.set_UninstallAction(System.Configuration.Install.
                UninstallAction.NoAction);
        }
        else {
            // Remove the resource from the event log.
            myInstaller.set_UninstallAction(System.Configuration.Install.
                UninstallAction.Remove);
        }
        get_Installers().Add(myInstaller);
        super.Uninstall(savedState);
    } //Uninstall

    public static void main(String[] args)
    {
        Console.WriteLine("Syntax for install: installutil.exe " 
            + "UninstallAction_NoAction_Remove_3.exe ");
        Console.WriteLine("Syntax for uninstall: installutil.exe /u " 
            + "UninstallAction_NoAction_Remove_3.exe ");
    } //main
} //MyUninstallActionClass

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

System.Configuration.Install-Namespace
Installer-Klasse
Uninstall