Files
FrigaT 2cb585c222
All checks were successful
CI / build-test (push) Successful in 30s
Release / pack-and-publish (release) Successful in 30s
Доработан вызов updater.exe
2025-11-27 10:55:38 +03:00

35 lines
2.0 KiB
C#

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>]";
}