Доработан вызов updater.exe
All checks were successful
CI / build-test (push) Successful in 30s
Release / pack-and-publish (release) Successful in 30s

This commit is contained in:
2025-11-27 10:55:38 +03:00
parent cc490c7112
commit 2cb585c222
14 changed files with 173 additions and 98 deletions

View File

@@ -0,0 +1,34 @@
using ArgumentsToolkit;
namespace ReleaseUpdater.Common;
/// <summary>Параметры CLI для Updater.exe.</summary>
public sealed class Options
{
[Option(nameof(ZipPath), "z", "Путь к скачанному архиву (.zip).", true)]
/// <summary>Путь к скачанному архиву (.zip).</summary>
public string ZipPath { get; set; }
[Option(nameof(InstallPath), "i", "Целевой каталог установки.", true)]
/// <summary>Целевой каталог установки.</summary>
public string InstallPath { get; set; }
[Option(nameof(AppExe), "a", "Имя исполняемого файла приложения для перезапуска", true)]
/// <summary>Имя исполняемого файла приложения для перезапуска (e.g., MyBot.exe).</summary>
public string AppExe { get; set; }
[Option(nameof(RestartDelayMs), "rd", "Миллисекунды ожидания перед перезапуском", false, 500)]
/// <summary>Необязательно: подождите миллисекунды перед перезапуском.</summary>
public int RestartDelayMs { get; set; } = 500;
[Option(nameof(UpdateDelayMs), "ud", "Миллисекунды ожидания перед обновления", false, 500)]
/// <summary>Необязательно: подождите миллисекунды перед запуском обновления.</summary>
public int UpdateDelayMs { get; set; } = 500;
[Option(nameof(WaitProcess), "wp", "PID процесса, завершение которого необходимо дождаться", false)]
/// <summary>Необязательно: дождаться завершения процесса.</summary>
public int? WaitProcess { get; set; } = null;
public static string Usage =>
"Usage: Updater.exe --zip <path.zip> --installPath <dir> --appExe <file.exe> [--restartDelayMs <int>] [--updateDelayMs <int>] [--waitProcess <int>]";
}

View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ArgumentsToolkit.Core" Version="0.0.3" />
</ItemGroup>
</Project>