Странное исключение недопустимой подписи при второй попыткеC#

Место общения программистов C#
Anonymous
Странное исключение недопустимой подписи при второй попытке

Сообщение Anonymous »

У меня есть версия 3.0.4 (в приложении avalonia):

Код: Выделить всё

_sparkle = new SparkleUpdater(
"https://storage.example.org/appcast.xml",
new Ed25519Checker(NetSparkleUpdater.Enums.SecurityMode.Strict, "SECRET")
)
{
RelaunchAfterUpdate = true,
CustomInstallerArguments = "/S"
};
_sparkle.UpdateDetected += async (s, e) =>
{
if (_updateInProgress) return;
_updateInProgress = true;

await Dispatcher.UIThread.InvokeAsync(async () =>
{
var item = e.AppCastItems[0];
var vm = new UpdateViewModel(_sparkle, item);
var dialog = new UpdateDialog();
vm.ParentWindow = dialog;
dialog.DataContext = vm;
await dialog.ShowDialog(this);
vm.Dispose();

if (!vm.IsInstalling)
{
_updateInProgress = false;
}
});
};
await _sparkle.StartLoop(true, true);
На большинстве компьютеров работает нормально, но есть один, который почти всегда выходит из строя:

Код: Выделить всё

24.04.2026 15:16:56 : [Autoupdate] Starting update process
24.04.2026 15:17:01 : [Autoupdate] Download finished: C:\Users\XXX\AppData\Local\Temp\Update_2.0.46.exe
24.04.2026 15:17:01 : [Autoupdate] Preparing to exit
24.04.2026 15:17:23 : [Autoupdate] Starting update process
24.04.2026 15:17:23 : [Autoupdate] Download started: C:\Users\XXX\AppData\Local\Temp\Update_2.0.46.exe
24.04.2026 15:17:49 : [Autoupdate] Download error: Downloaded file has invalid signature!
UpdateViewModel OnDownloadHadError 0
SparkleUpdater OnDownloadFinished 0
d__36 MoveNext 0
AsyncStateMachineBox`1 ExecutionContextCallback 0
24.04.2026 15:18:21 : [Autoupdate] Cancelling update process
С точки зрения пользователя это выглядит так, как будто отображается диалоговое окно и обновление подтверждается пользователем. Затем он пытается перезапустить приложение, но позже происходит еще одна попытка загрузить файл (здесь никакое взаимодействие с пользователем не требуется), и подпись завершается неудачно.

Есть идеи?

Вернуться в «C#»