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 используется для удаления служб, а также для их установки; При удалении выполняется переключение в вызове командной строки.

Подпрограмма удаления приложения автоматически сохраняет сведения об удаляемых компонентах с помощью установщика Installer.Contextпроекта. Эти сведения о состоянии, передаваемые в Uninstall качестве savedState параметра, постоянно обновляются как ServiceProcessInstaller экземпляр, и каждый ServiceInstaller экземпляр устанавливается программой. Обычно коду не нужно изменять эти сведения о состоянии явным образом.

Для всех классов, производных от Installer класса, состояние Installers коллекции должно быть одинаковым в Install и Uninstall методах. Однако при добавлении экземпляров Installers установщика в коллекцию в конструктор пользовательского класса установщика можно избежать обслуживания коллекцииInstall.Uninstall

Нет механизма отката для удаления, поэтому если одной службе не удается удалить, это не влияет на другие службы (обычно в том же проекте установки), которые удаляются.

Применяется к

См. также раздел