Beispiel #1
0
 public Task Install(VersionInfo latest)
 {
     return(Task.Factory.StartNew(() => DownloadAndInstall(latest.Stable, latest.StableAddress)));
 }
Beispiel #2
0
        private void OnVersionChecked(Task<VersionInfo> task, bool addNotificationWhenUpToDate)
        {
            try
            {
                VersionInfo latestVersion = task.Result;
                LatestVersion = latestVersion;

                Version latest = latestVersion.Stable;
                Version current = AppVersion;
                if (current != null && latest != null && latest > current)
                {
                    var message = string.Format("A newer version ({0}) is available to be downloaded", latest);
                    Log.InfoFormat(message);
                    _actionCenter.Add(Notification.CreateInfo("Check for updates", message));
                }
                else
                {
                    const string message = "Running the latest version";
                    Log.InfoFormat(message);

                    if (addNotificationWhenUpToDate)
                    {
                        _actionCenter.Add(Notification.CreateInfo("Check for updates", message));
                    }
                }
            }
            catch (Exception e)
            {
                Log.ErrorFormat("Caught unexpected exception while querying newest version: {0}", e);
            }
        }
Beispiel #3
0
        internal static void Parse(byte[] data, out VersionInfo latestVersions)
        {
            latestVersions = new VersionInfo(null, null, null, null);

            using (var stream = new MemoryStream(data))
            using (XmlReader reader = XmlReader.Create(stream))
            {
                while (reader.Read())
                {
                    switch (reader.Name)
                    {
                        case "versions":
                            ReadVersions(reader.ReadSubtree(), out latestVersions);
                            break;
                    }
                }
            }
        }
Beispiel #4
0
        private static void ReadVersions(XmlReader versions, out VersionInfo latestVersions)
        {
            Version beta = null;
            Uri betaAddress = null;
            Version stable = null;
            Uri stableAddress = null;

            while (versions.Read())
            {
                switch (versions.Name)
                {
                    case "stable":
                        stable = ReadVersion(versions, out stableAddress);
                        break;

                    case "beta":
                        beta = ReadVersion(versions, out betaAddress);
                        break;
                }
            }

            latestVersions = new VersionInfo(beta, betaAddress, stable, stableAddress);
        }
Beispiel #5
0
 public Task Install(VersionInfo latest)
 {
     return Task.Factory.StartNew(() => DownloadAndInstall(latest.Stable, latest.StableAddress));
 }