У меня есть служба Windows, созданная с использованием С#, которая устанавливается через проект установки VS2008, и у меня возникли проблемы с процессом удаления:
Служба не останавливается перед удалением
Когда запускается процедура удаления, она вызывает ошибку в отношении используемых файлов. Щелчок по продолжению завершает установку установщика правильно, но служба все еще отображается в списке, поэтому она не удаляется должным образом.
(В настоящее время мне приходится прибегать к его удалению вручную, используя sc-имя-сервис).
Я пытаюсь остановить службу перед деинсталляцией с использованием следующего кода, но это, похоже, не вступает в силу:
protected override void OnBeforeUninstall(IDictionary savedState)
{
base.OnBeforeUninstall(savedState);
ServiceController serviceController = new ServiceController(MyInstaller.ServiceName);
serviceController.Stop();
}
Когда вызывается этот код и как я могу остановить службу до удаления?
Папка установки не удалена после удаления
Приложение также создает некоторые файлы внутри папки установки при выполнении. После удаления папка установки (C:\Program Files\MyApp) не удаляется и содержит файлы, созданные приложением, хотя все другие файлы, которые были фактически установлены установщиком, были успешно удалены.
Возможно ли, что процесс удаления удалит папку установки, включая все сгенерированные файлы в этой папке, и если да, то как?
Спасибо.