Exemplo n.º 1
0
        public void Populate()
        {
            Slyce.Common.VersionNumberUtility.VersionNumberComparer c = new Slyce.Common.VersionNumberUtility.VersionNumberComparer();
            List <string> dirs = new List <string>(Directory.GetDirectories(ArchiveFolder, "2.*"));

            for (int i = 0; i < dirs.Count; i++)
            {
                dirs[i] = dirs[i].Substring(dirs[i].LastIndexOf(Path.DirectorySeparatorChar) + 1);
            }

            dirs.Sort(c);
            dirs.Reverse();

            string        currentVersion = "";
            List <string> uniqueDirs     = new List <string>();

            for (int i = 0; i < dirs.Count; i++)
            {
                string ver = dirs[i].Substring(0, dirs[i].LastIndexOf("."));

                if (ver != currentVersion)
                {
                    currentVersion = ver;
                    uniqueDirs.Add(dirs[i]);
                }
            }
            listView1.Items.Clear();

            for (int i = 1; i < uniqueDirs.Count; i++)
            {
                listView1.Items.Add(uniqueDirs[i]);
            }
            comboBox1.Text = uniqueDirs.First();
        }
Exemplo n.º 2
0
        public void Populate()
        {
            Slyce.Common.VersionNumberUtility.VersionNumberComparer c = new Slyce.Common.VersionNumberUtility.VersionNumberComparer();
            List<string> dirs = new List<string>(Directory.GetDirectories(ArchiveFolder, "2.*"));

            for (int i = 0; i < dirs.Count; i++)
                dirs[i] = dirs[i].Substring(dirs[i].LastIndexOf(Path.DirectorySeparatorChar) + 1);

            dirs.Sort(c);
            dirs.Reverse();

            string currentVersion = "";
            List<string> uniqueDirs = new List<string>();

            for (int i = 0; i < dirs.Count; i++)
            {
                string ver = dirs[i].Substring(0, dirs[i].LastIndexOf("."));

                if (ver != currentVersion)
                {
                    currentVersion = ver;
                    uniqueDirs.Add(dirs[i]);
                }
            }
            listView1.Items.Clear();

            for (int i = 1; i < uniqueDirs.Count; i++)
            {
                listView1.Items.Add(uniqueDirs[i]);
            }
            comboBox1.Text = uniqueDirs.First();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Gets whether an update exists.
        /// </summary>
        /// <returns></returns>
        public static bool UpdateExists(string productName)
        {
            ProductName = productName;
            DeterminePatch();

            if (UpdatePathsXml.IndexOf("<updatepatches") == 0)
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(UpdatePathsXml);
                LatestVersion = doc.SelectSingleNode("updatepatches/@latest_version").InnerText;
                Slyce.Common.VersionNumberUtility.VersionNumberComparer comparer = new Slyce.Common.VersionNumberUtility.VersionNumberComparer();

                if (comparer.Compare(CurrentVersion, LatestVersion) < 0)
                {
                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 4
0
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                // Ensure that we get this reported to us.
                throw e.Error;
            }
            if (UpdatePathsXml.IndexOf("<updatepatches") == 0)
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(UpdatePathsXml);
                LatestVersion = doc.SelectSingleNode("updatepatches/@latest_version").InnerText;
                Slyce.Common.VersionNumberUtility.VersionNumberComparer comparer = new Slyce.Common.VersionNumberUtility.VersionNumberComparer();

                if (comparer.Compare(CurrentVersion, LatestVersion) >= 0)
                {
                    webBrowser1.DocumentText = HtmlPageStart + string.Format("<b>You have the latest version: {0}</b>", CurrentVersion) + HtmlPageEnd;

                    if (SilentMode)
                    {
                        this.Close();
                    }
                }
                else
                {
                    //string productName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name.Replace(" ", "").ToLower();
                    webBrowser1.Navigate(string.Format("http://www.slyce.com/updates/archangel_release_notes_view.asp?currentversion={0}&latestversion={1}&productName={2}", CurrentVersion, LatestVersion, ProductName));
                    XmlNode node         = doc.SelectSingleNode(string.Format(@"updatepatches/patch[@fromVersion='{0}']", CurrentVersion));
                    double  filesizeInMb = 0;

                    if (node == null)
                    {
                        // No patch update available. Download latest full install instead.
                        IsPatch             = false;
                        PatchFile           = doc.SelectSingleNode("updatepatches/@file").InnerText;
                        FileSize            = doc.SelectSingleNode("updatepatches/@filesize").InnerText;
                        filesizeInMb        = double.Parse(FileSize) / 1024 / 1024;
                        MD5Checksum         = doc.SelectSingleNode("updatepatches/@md5").InnerText;
                        btnViewDetails.Text = string.Format("Download - {0:0.00}Mb", filesizeInMb);
                    }
                    else
                    {
                        IsPatch             = true;
                        PatchFile           = node.SelectSingleNode("@file").InnerText;
                        FileSize            = node.SelectSingleNode("@filesize").InnerText;
                        filesizeInMb        = double.Parse(FileSize) / 1024 / 1024;
                        MD5Checksum         = node.SelectSingleNode("@md5").InnerText;
                        btnViewDetails.Text = string.Format("Download patch - {0:0.00}Mb", filesizeInMb);
                    }
                    TempPath = Path.Combine(Path.GetTempPath(), PatchFile);

                    lnkPatchFile.Text      = "http://www.slyce.com/downloads/" + PatchFile;
                    lblFileSize.Text       = "(" + FileSize + ")";
                    btnViewDetails.Enabled = true;
                }
            }
            else
            {
                // Error downloading the patch definitions
                webBrowser1.DocumentText = HtmlPageStart + @"There was a problem connecting to the internet. <p/> Click here to check manually in your browser: <strong><a href=""http://www.slyce.com/downloads/"" target=""_blank"">www.slyce.com/downloads/</a><strong>" + HtmlPageEnd;
            }
        }
Exemplo n.º 5
0
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                // Ensure that we get this reported to us.
                throw e.Error;
            }
            if (UpdatePathsXml.IndexOf("<updatepatches") == 0)
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(UpdatePathsXml);
                LatestVersion = doc.SelectSingleNode("updatepatches/@latest_version").InnerText;
                Slyce.Common.VersionNumberUtility.VersionNumberComparer comparer = new Slyce.Common.VersionNumberUtility.VersionNumberComparer();

                if (comparer.Compare(CurrentVersion, LatestVersion) >= 0)
                {
                    webBrowser1.DocumentText = HtmlPageStart + string.Format("<b>You have the latest version: {0}</b>", CurrentVersion) + HtmlPageEnd;

                    if (SilentMode)
                    {
                        this.Close();
                    }
                }
                else
                {
                    //string productName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name.Replace(" ", "").ToLower();
                    webBrowser1.Navigate(string.Format("http://www.slyce.com/updates/archangel_release_notes_view.asp?currentversion={0}&latestversion={1}&productName={2}", CurrentVersion, LatestVersion, ProductName));
                    XmlNode node = doc.SelectSingleNode(string.Format(@"updatepatches/patch[@fromVersion='{0}']", CurrentVersion));
                    double filesizeInMb = 0;

                    if (node == null)
                    {
                        // No patch update available. Download latest full install instead.
                        IsPatch = false;
                        PatchFile = doc.SelectSingleNode("updatepatches/@file").InnerText;
                        FileSize = doc.SelectSingleNode("updatepatches/@filesize").InnerText;
                        filesizeInMb = double.Parse(FileSize) / 1024 / 1024;
                        MD5Checksum = doc.SelectSingleNode("updatepatches/@md5").InnerText;
                        btnViewDetails.Text = string.Format("Download - {0:0.00}Mb", filesizeInMb);
                    }
                    else
                    {
                        IsPatch = true;
                        PatchFile = node.SelectSingleNode("@file").InnerText;
                        FileSize = node.SelectSingleNode("@filesize").InnerText;
                        filesizeInMb = double.Parse(FileSize) / 1024 / 1024;
                        MD5Checksum = node.SelectSingleNode("@md5").InnerText;
                        btnViewDetails.Text = string.Format("Download patch - {0:0.00}Mb", filesizeInMb);
                    }
                    TempPath = Path.Combine(Path.GetTempPath(), PatchFile);

                    lnkPatchFile.Text = "http://www.slyce.com/downloads/" + PatchFile;
                    lblFileSize.Text = "(" + FileSize + ")";
                    btnViewDetails.Enabled = true;
                }
            }
            else
            {
                // Error downloading the patch definitions
                webBrowser1.DocumentText = HtmlPageStart + @"There was a problem connecting to the internet. <p/> Click here to check manually in your browser: <strong><a href=""http://www.slyce.com/downloads/"" target=""_blank"">www.slyce.com/downloads/</a><strong>" + HtmlPageEnd;
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Gets whether an update exists.
        /// </summary>
        /// <returns></returns>
        public static bool UpdateExists(string productName)
        {
            ProductName = productName;
            DeterminePatch();

            if (UpdatePathsXml.IndexOf("<updatepatches") == 0)
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(UpdatePathsXml);
                LatestVersion = doc.SelectSingleNode("updatepatches/@latest_version").InnerText;
                Slyce.Common.VersionNumberUtility.VersionNumberComparer comparer = new Slyce.Common.VersionNumberUtility.VersionNumberComparer();

                if (comparer.Compare(CurrentVersion, LatestVersion) < 0)
                    return true;
            }
            return false;
        }