diff --git a/src/Core/ServiceWrapper/Main.cs b/src/Core/ServiceWrapper/Main.cs
index 977bc31..e769d4d 100644
--- a/src/Core/ServiceWrapper/Main.cs
+++ b/src/Core/ServiceWrapper/Main.cs
@@ -513,11 +513,13 @@ namespace winsw
}
catch (WmiException e)
{
+ Log.Fatal("WMI Operation failure: " + e.ErrorCode, e);
Console.Error.WriteLine(e);
return (int)e.ErrorCode;
}
catch (Exception e)
{
+ Log.Fatal("Unhandled exception", e);
Console.Error.WriteLine(e);
return -1;
}
@@ -528,17 +530,29 @@ namespace winsw
throw new WmiException(ReturnValue.NoSuchService);
}
+
// ReSharper disable once InconsistentNaming
+ ///
+ /// Runs the wrapper.
+ ///
+ /// Arguments. If empty, WinSW will behave in the service mode. Otherwise - CLI mode
+ /// Service descriptor. If null, it will be initialized within the method.
+ /// In such case configs will be loaded from the XML Configuration File.
+ /// Any unhandled exception
public static void Run(string[] _args, ServiceDescriptor descriptor = null)
{
bool isCLIMode = _args.Length > 0;
+
+
+ // If descriptor is not specified, initialize the new one (and load configs from there)
var d = descriptor ?? new ServiceDescriptor();
-
- // Configure the wrapper-internal logging
- // STDIN and STDOUT of the child process will be handled independently
+
+ // Configure the wrapper-internal logging.
+ // STDIN and STDOUT of the child process will be handled independently.
InitLoggers(d, isCLIMode);
- if (isCLIMode) // CLI mode
+
+ if (isCLIMode) // CLI mode, in-service mode otherwise
{
Log.Debug("Starting ServiceWrapper in CLI mode");