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 설치와 관련된 컨텍스트 정보가 들어 있는 항목입니다.

예외

서비스 제어 관리자를 열 수 없습니다.

-또는-

시스템에서 서비스에 대한 핸들을 가져올 수 없습니다.

설명

서비스를 제거하기 전에 먼저 서비스를 중지하려고 시도합니다. 서비스를 중지할 수 없는 경우 예외가 catch되지 않으며 메서드는 서비스 제거를 계속합니다.

일반적으로 코드 내에서 메서드 ServiceInstaller 를 호출하지 않습니다. 일반적으로 설치 유틸리티에서만 호출됩니다. InstallUtil은 서비스를 제거하고 설치하는 데 사용됩니다. 제거는 명령줄 호출에서 스위치를 사용합니다.

애플리케이션의 제거 루틴은 프로젝트 설치 관리자 Installer.Context를 사용하여 제거되는 구성 요소에 대한 정보를 자동으로 유지 관리합니다. 매개 변수로 UninstallsavedState 전달되는 이 상태 정보는 인스턴스로 ServiceProcessInstaller 지속적으로 업데이트되고 각 ServiceInstaller 인스턴스는 유틸리티에 의해 설치됩니다. 코드에서 이 상태 정보를 명시적으로 수정하는 것은 일반적으로 필요하지 않습니다.

클래스에서 파생되는 모든 클래스의 Installer 경우 컬렉션의 Installers 상태는 및 Install 메서드에서 Uninstall 동일해야 합니다. 그러나 사용자 지정 설치 관리자 클래스 생성자의 컬렉션 Install 에 설치 관리자 인스턴스를 추가하는 경우 전체 및 Uninstall 메서드에서 컬렉션의 Installers 유지 관리를 방지할 수 있습니다.

제거를 위한 롤백 메커니즘이 없으므로 한 서비스를 제거하지 못하면 제거되는 다른 서비스(일반적으로 동일한 설치 프로젝트 내)에 영향을 주지 않습니다.

적용 대상

추가 정보