Как удалить службу Windows с помощью Custom Uninstaller - PullRequest
3 голосов
/ 16 апреля 2011

У нас есть много вопросов о стековом потоке, касающихся удаления службы Windows.После попытки их всех мне все еще не удается удалить службу Windows в новой версии. Установка.

Я использую проект установки и развертывания, чтобы установить / удалить мой проект со службой Windows и некоторые другие проекты.

Во время установки более новой версии все остальные проекты успешно переустанавливаются, но проект службы Windows не удается переустановить и сообщает:

Ошибка 1001: указанная служба уже существует.

Я сослался на эту ссылку и попытался добавить код в мое настраиваемое действие Установить, чтобы остановить службу.Если я правильно понял ответ по этой ссылке, я поместил код для остановки службы в файл ProjectInstaller.cs Службы:

public override void Install(IDictionary stateSaver)
{ 
      ServiceController sc = new ServiceController("SareeManagerNotifications");
      if (sc.Status == ServiceControllerStatus.Running)
          sc.Stop();
     base.Install(stateSaver);
}

Панель пользовательских действий выглядит следующим образом: enter image description here

Там, где выделенной частью является Служба.

Я также прошел через этот ответ , в котором говорится, что пользовательское действие должно быть задано какNOT PREVIOUSVERSIONSINSTALLED.

enter image description here

Это не работает для меня.Куда я иду не так?

Заранее спасибо:)

Ответы [ 2 ]

5 голосов
/ 21 апреля 2011

Попробуйте следующие шаги при редактировании службы Windows:

  1. Щелкните правой кнопкой мыши свой SetupProject из visual studio и выберите пользовательские действия в представлении .

  2. Вы найдете 4 пользовательских действия установка, фиксация, откат и удаление . Щелкните правой кнопкой мыши каждое из этих действий одно за другим и добавьте настраиваемое действие

  3. После этого вы найдете элемент выбора в окне проекта . В появившемся окне выберите Папка приложения из , посмотрите выпадающий список . Это перечислит основной вывод из службы Windows , выберите его и нажмите ОК.

  4. Сохраните и соберите проект установки.

Надеюсь, это решит вашу проблему ....

0 голосов
/ 18 апреля 2011

Обычно это делается с помощью операций управления службами .По сути, для удаления вам нужно установить флаги Stop и Delete.

Другой подход - использовать ServiceInstaller.Uninstall для удаления службы.

...