UninstallAction Enumeração
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica o que um instalador deve fazer durante uma desinstalação.
public enum class UninstallAction
public enum UninstallAction
type UninstallAction =
Public Enum UninstallAction
- Herança
NoAction | 1 | Deixa o recurso criado pelo instalador como está. |
Remove | 0 | Remove o recurso criado pelo instalador. |
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.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 " );
}
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 ");
}
}
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
' Override the 'Commit' method.
Public Overrides Sub Commit(savedState As IDictionary)
MyBase.Commit(savedState)
End Sub
' Override the 'Rollback' method.
Public Overrides Sub Rollback(savedState As IDictionary)
MyBase.Rollback(savedState)
End Sub
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
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
End Class
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 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: