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