Доработан вызов updater.exe
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
using System.Diagnostics;
|
||||
using System.Security.Cryptography;
|
||||
using ReleaseUpdater.Common;
|
||||
using System.Diagnostics;
|
||||
using Updater.Core;
|
||||
|
||||
namespace Updater;
|
||||
@@ -9,35 +9,34 @@ internal sealed class Program
|
||||
static int Main(string[] args)
|
||||
{
|
||||
var logger = new ConsoleLogger();
|
||||
Options? options;
|
||||
try
|
||||
|
||||
var parseResult = ArgumentsToolkit.ArgumentsParser.Parse<Options>(args);
|
||||
|
||||
if (!parseResult.Success)
|
||||
{
|
||||
options = Options.Parse(args);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error($"Arguments error: {ex.Message}");
|
||||
Console.WriteLine(Options.Usage);
|
||||
logger.Error($"Arguments error:");
|
||||
parseResult.Errors.ForEach(t => logger.Error(t.Message));
|
||||
return ExitCodes.InvalidArgs;
|
||||
}
|
||||
|
||||
var options = parseResult.Value!;
|
||||
|
||||
Thread.Sleep(options.UpdateDelayMs);
|
||||
|
||||
if (options.WaitProcess != null)
|
||||
try
|
||||
{
|
||||
using (var proc = Process.GetProcessById(options.WaitProcess.Value))
|
||||
try
|
||||
{
|
||||
logger.Info($"Waiting for the process to complete {options.WaitProcess}...");
|
||||
proc.WaitForExit(); // блокирует выполнение до завершения процесса
|
||||
logger.Info("Process is completed.");
|
||||
using (var proc = Process.GetProcessById(options.WaitProcess.Value))
|
||||
{
|
||||
logger.Info($"Waiting for the process to complete {options.WaitProcess}...");
|
||||
proc.WaitForExit(); // блокирует выполнение до завершения процесса
|
||||
logger.Info("Process is completed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (ArgumentException)
|
||||
{
|
||||
catch (ArgumentException)
|
||||
{
|
||||
logger.Info($"Process with PID {options.WaitProcess} not found.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var extractor = new ZipExtractor(logger);
|
||||
@@ -45,6 +44,8 @@ internal sealed class Program
|
||||
var procMgr = new ProcessManager(logger);
|
||||
var app = new UpdaterApp(logger, extractor, installer, procMgr);
|
||||
|
||||
return app.Run(options);
|
||||
|
||||
var exitCode = app.Run(options);
|
||||
return exitCode;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user