Esempio n. 1
0
        private void OnDoWork(IThreadInvoker invoker, CancellationToken token)
        {
            _updater.CheckForUpdate(_currentVersion);

            if (!_updater.IsUpdateAvailable)
            {
                return;
            }

            invoker.InvokeOnUIThreadSync(OnUpdateReadyToDownload);

            if (!AllowDownload)
            {
                return;
            }

            invoker.InvokeOnUIThreadSync(OnBeforeDownload);

            _updater.DownloadProgressChanged += delegate(FileDownloadProgress progress)
            {
                invoker.InvokeOnUIThreadSync(cancellationToken => ProgressChanged(progress));
            };

            token.Register(_updater.CancelDownload);

            _updater.DownloadUpdate();
        }