35 lines
2.0 KiB
C#
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>]";
|
|
}
|