in JetBrains.Etw.HostService.Updater/src/Views/MainWindow.xaml.cs [84:113]
private void OnDownloadAndInstall(object sender, RoutedEventArgs e)
{
myLogger.Info(Logger.Context);
using (myViewModel.RunModalDialog())
{
var dlg = new DownloadingWindow(myLogger, myUpdateRequest, myDownloadDelay);
if (dlg.ShowDialog() == true)
try
{
myLogger.Info($"{Logger.Context} res=running");
using var process = Process.Start(new ProcessStartInfo
{
UseShellExecute = true,
FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "msiexec.exe"),
Arguments = $"/i \"{dlg.MsiFile}\""
});
if (process == null)
throw new Exception("Failed to run msiexec.exe");
myLogger.Info($"{Logger.Context} res=exit_run");
Application.Current.Shutdown();
}
catch (Exception ex)
{
myLogger.Exception(ex);
MessageBox.Show(ex.GetBaseException().Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
else
myLogger.Info($"{Logger.Context} res=cancel");
}
}