public MainWindow()
        {
            log.DebugFormat("Обновление запущено {0}", typeof(MainWindow).Assembly.Location);
            var args = Environment.GetCommandLineArgs();
            var pid  = args.Skip(1).Select(v => SafeConvert.ToInt32(v, -1)).FirstOrDefault(-1);
            var exe  = args.Skip(2).FirstOrDefault();

            Closed += (sender, eventArgs) => {
                log.DebugFormat("Обновление завершено");
            };
            var task = Run(pid, exe, FileHelper.MakeRooted("."));

            task.ContinueWith(t => {
                if (t.IsFaulted)
                {
                    log.Error("Процесс обновления завершился ошибкой", t.Exception);
                    App.NotifyAboutException(t.Exception);
                }
                Close();
            }, TaskScheduler.FromCurrentSynchronizationContext());
            InitializeComponent();
            ResizeMode    = ResizeMode.NoResize;
            SizeToContent = SizeToContent.Manual;
        }