ServiceInstaller.Uninstall(IDictionary) 方法

定义

通过从注册表中移除关于服务的信息来卸载服务。

public:
 override void Uninstall(System::Collections::IDictionary ^ savedState);
public override void Uninstall (System.Collections.IDictionary savedState);
override this.Uninstall : System.Collections.IDictionary -> unit
Public Overrides Sub Uninstall (savedState As IDictionary)

参数

savedState
IDictionary

IDictionary,包含与安装关联的上下文信息。

例外

未能打开服务控制管理器。

  • 或 -

系统未能获取服务的句柄。

注解

卸载首先尝试停止服务,然后再卸载它。 如果无法停止该服务,则不会捕获到异常,并且该方法将继续删除该服务。

通常情况下,你不会在 ServiceInstaller 你的代码内调用方法; 通常仅由安装实用工具调用这些方法。 Installutil.exe 用于卸载服务以及安装服务;卸载会在命令行调用中采用开关。

应用程序的卸载例程使用项目安装程序的,自动维护有关正在卸载的组件的信息 Installer.Context 。 作为参数传递到的此状态信息 Uninstall savedState 会不断更新为 ServiceProcessInstaller 实例,并且每个 ServiceInstaller 实例由实用工具安装。 通常不需要让代码显式修改此状态信息。

对于从类派生的所有类 Installer ,集合的状态 Installers 在和方法中必须相同 Install Uninstall 。 但是, Install Uninstall 如果将安装程序实例添加到 Installers 自定义安装程序类构造函数中的集合,则可以避免在和方法中维护集合。

没有用于卸载的回滚机制,因此,如果一个服务无法卸载,则这不会影响通常) 正在卸载的同一安装项目中 (其他服务。

适用于

另请参阅