33 lines
775 B
C#
33 lines
775 B
C#
using Updater.Core;
|
|
|
|
namespace Updater;
|
|
|
|
internal sealed class Program
|
|
{
|
|
static int Main(string[] args)
|
|
{
|
|
var logger = new ConsoleLogger();
|
|
Options? options;
|
|
try
|
|
{
|
|
options = Options.Parse(args);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logger.Error($"Arguments error: {ex.Message}");
|
|
Console.WriteLine(Options.Usage);
|
|
return ExitCodes.InvalidArgs;
|
|
}
|
|
|
|
|
|
Thread.Sleep(options.UpdateDelayMs);
|
|
|
|
var extractor = new ZipExtractor(logger);
|
|
var installer = new SafeFileInstaller(logger);
|
|
var procMgr = new ProcessManager(logger);
|
|
var app = new UpdaterApp(logger, extractor, installer, procMgr);
|
|
|
|
return app.Run(options);
|
|
}
|
|
}
|