示例#1
0
        void OnDownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            try
            {
                this.downloadState.Current = DownloaderState.DownloadCompleted;

                DownloadInfo inf = (DownloadInfo)e.UserState;
                inf.Cancelled = e.Cancelled;
                inf.Error     = e.Error;

                RaiseDownloadCompleted(inf);

                this.downloadState.Current = DownloaderState.Idle;
                EventLogger.Instance.Add("Download completed.");
            }
            catch (Exception ex)
            {
                EventLogger.Instance.Add(ex.Message);
            }
        }
示例#2
0
        private void OnPackageDownloadComplete(DownloadInfo downloadInfo)
        {
            try
            {
                if (ServiceIo.ExtractDownloadedPackage(downloadInfo.Manifest))
                {
                    ServiceIo.Cleanup(downloadInfo.Manifest);
                    this.state.Current = UpdaterStatus.PackageDownloadCompleted;

                    this.IsDownloadComplete = true;
                    RaiseNewVersionDownloaded(downloadInfo);
                    return;
                }
            }
            catch (Exception ex)
            {
                EventLogger.Instance.Add(ex.Message);
            }

            this.state.Current = UpdaterStatus.Idle;
        }
示例#3
0
        internal bool BeginDownloadPackage(UpdateManifestInfo manifest)
        {
            try
            {
                if ((DownloaderState)this.downloadState.Current == DownloaderState.DownloadingManifest ||
                    (DownloaderState)this.downloadState.Current == DownloaderState.DownloadingPackage)
                {
                    EventLogger.Instance.Add("Cannot download package. Downloader is already downloading.");
                    return(false);
                }

                if (manifest == null)
                {
                    return(false);
                }
                EventLogger.Instance.Add("Downloading package...");

                this.downloadState.Current = DownloaderState.DownloadingPackage;

                DownloadInfo inf = new DownloadInfo();
                inf.Manifest   = manifest;
                inf.DownloadId = (Int32)Downloadables.UpdatePackage;

                this.webClient.DownloadFileAsync(
                    new Uri(manifest.UpdatePackageUri),
                    ServiceIo.GetPackageFilePath(inf.Manifest),
                    inf);

                return(true);
            }
            catch (Exception ex)
            {
                this.downloadState.Current = DownloaderState.Idle;
                EventLogger.Instance.Add(ex.Message);
            }

            return(false);
        }
示例#4
0
 private void OnManifestDownloadComplete(DownloadInfo downloadInfo)
 {
     this.state.Current = UpdaterStatus.ManifestDownloadCompleted;
     DownloadNewVersion(true);
 }
 public DownloadCompleteEventArgs(DownloadInfo downloadInfo)
     : base()
 {
     this.DownloadInfo = downloadInfo;
 }