UninstallAction Enumeração

Definição

Especifica o que um instalador deve fazer durante uma desinstalação.

public enum UninstallAction
Herança
UninstallAction

Campos

NoAction 1

Deixa o recurso criado pelo instalador como está.

Remove 0

Remove o recurso criado pelo instalador.

Exemplos

O exemplo a seguir cria um desinstalador personalizado que herda a Installer classe . Na função substituída Uninstall , a UninstallAction enumeração é definida com base na entrada do usuário. Se a entrada for "n", o desinstalador personalizado não executará nenhuma ação no recurso no log de eventos inserido pelo usuário. Caso contrário, ele removerá o recurso do log de eventos.

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 ");
   }
}

Aplica-se a

Produto Versões
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Confira também