From 804691e95fc097cb111b041f1a9be86587a71ebd Mon Sep 17 00:00:00 2001 From: Oleg Nenashev Date: Sun, 1 Feb 2015 15:10:00 +0300 Subject: [PATCH] Better diagnosis in install and uninstall commands * install - Fail the installation if the service exists * uninstall - Print warning if the service does not exist Resolves #55 Signed-off-by: Oleg Nenashev --- Main.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Main.cs b/Main.cs index 99bddda..5131fa7 100644 --- a/Main.cs +++ b/Main.cs @@ -545,6 +545,14 @@ namespace winsw args[0] = args[0].ToLower(); if (args[0] == "install") { + // Check if the service exists + if (s != null) + { + Console.WriteLine("Service with id '" + d.Id + "' already exists"); + Console.WriteLine("To install the service, delete the existing one or change service Id in the configuration file"); + throw new Exception("Installation failure: Service with id '" + d.Id + "' already exists"); + } + string username=null, password=null; bool setallowlogonasaserviceright = false; if (args.Count > 1 && args[1] == "/p") @@ -616,7 +624,10 @@ namespace winsw if (args[0] == "uninstall") { if (s == null) + { + Console.WriteLine("Warning! The service with id '" + d.Id + "' does not exist. Nothing to uninstall"); return; // there's no such service, so consider it already uninstalled + } try { s.Delete();