in JetBrains.Etw.HostService.Updater/src/Views/DownloadingWindow.xaml.cs [24:67]
public DownloadingWindow([NotNull] Util.ILogger logger, [NotNull] UpdateRequest updateRequest, bool downloadDelay = false)
{
if (updateRequest == null) throw new ArgumentNullException(nameof(updateRequest));
myLogger = logger ?? throw new ArgumentNullException(nameof(logger));
InitializeComponent();
var viewModel = new DownloadingViewModel();
DataContext = viewModel;
var deactivateSystemCloseButton = true;
Closing += (_, args) =>
{
args.Cancel = deactivateSystemCloseButton;
myCancellationTokenSource.Cancel();
};
var loggerContext = Logger.Context;
async void DoAsync()
{
try
{
myMsiFile = await Task.Run(() => DownloadAndVerifyMsi(logger, updateRequest, viewModel, myCancellationTokenSource.Token, downloadDelay), myCancellationTokenSource.Token);
logger.Info($"{loggerContext} res=downloaded");
}
catch (OperationCanceledException)
{
logger.Info($"{loggerContext} res=cancelled");
}
catch (Exception ex)
{
logger.Info($"{loggerContext} res=error");
logger.Exception(ex);
MessageBox.Show(ex.GetBaseException().Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
finally
{
deactivateSystemCloseButton = false;
DialogResult = myMsiFile != null;
}
}
DoAsync();
}