Ejemplo n.º 1
0
        private void CheckForUpdateThreadWorker()
        {
            try
            {
                WebRequest request = WebRequest.Create(Config.UpdateUrl + versionFileName);

                using (WebResponse response = request.GetResponse())
                {
                    using (Stream stream = response.GetResponseStream())
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(Version));
                        version = (Version)serializer.Deserialize(stream);
                    }
                }
            }
            catch (Exception ex)
            {
                Common.LogException(ex);
                errorMessage = ex.Message;
                updateCheckInterface.UpdateCheckComplete();
                return;
            }

            // see if found version number is greater than current version
            Int32 deltaMajor = version.Major - Config.ProgramVersionMajor;
            Int32 deltaMinor = version.Minor - Config.ProgramVersionMinor;
            Int32 deltaUpdate = version.Update - Config.ProgramVersionUpdate;

            if (deltaMajor > 0 || (deltaMajor == 0 && deltaMinor > 0) || (deltaMajor == 0 && deltaMinor == 0 && deltaUpdate > 0))
            {
                available = true;
            }

            updateCheckInterface.UpdateCheckComplete();
        }