UninstallAction Enumeration
Specifies what an installer should do during an uninstallation.
Assembly: System.Configuration.Install (in System.Configuration.Install.dll)
The following sample creates a custom uninstaller that inherits the Installer class. In the overridden Uninstall function, the UninstallAction enumeration is set based on user input. If the input is "n", the custom uninstaller will not take any action on the resource in the event log entered by the user. Otherwise, it will remove the resource from the event log.
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
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.