Пример #1
0
        public static void WriteLog(String text)
        {
            try
            {
                var flname = IniFileManager.GetStringKey("debug.logFile");
                if (flname.Length == 0)
                {
                    return;
                }

                StringBuilder logStr = new StringBuilder();
                logStr.AppendFormat("{0} {1}.{2}: {3}\r\n", DateTime.Now.ToShortDateString(), DateTime.Now.ToLongTimeString(), DateTime.Now.Millisecond,
                                    text);
                File.AppendAllText(flname, logStr.ToString(), Encoding.UTF8);
            }
            catch (IOException)
            {
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }
Пример #2
0
        private void bgCheckUpdates_DoWork(object sender, DoWorkEventArgs e)
        {
            bool IsEnable = IniFileManager.GetBoolKey("updates.enable");

            e.Result = (int)0;
            if (!IsEnable && !showReport)
            {
                return;
            }

            var pXmlVersionFile = IniFileManager.GetStringKey("updates.url");

            if (pXmlVersionFile == null)
            {
                return;
            }

            var      pLastCheck = IniFileManager.GetStringKey("updates.lastCheck");
            DateTime tm         = new DateTime();

            DateTime.TryParse(pLastCheck, out tm);

            if (tm.Day == DateTime.Now.Day && tm.Year == DateTime.Now.Year && tm.Month == DateTime.Now.Month && !showReport)
            {
                return;
            }

            try
            {
                //download file from internet and parse it to xml
                var url      = new Uri(pXmlVersionFile);
                var fileData = wc.DownloadData(url);
                var xml      = XElement.Parse(Encoding.UTF8.GetString(fileData));


                var node = xml.FirstNode;

                var nVersion        = xml.Element("Version");
                var nLinkToDownLoad = xml.Element("InstallerLink");

                if (nVersion == null || nLinkToDownLoad == null)
                {
                    throw new Exception("Отсуствует обязательный параметр Version или InstallerLink\r\nXML:\r\n" + xml);
                }

                var urlForDownLoad = nLinkToDownLoad.Value;
                if (urlForDownLoad == null)
                {
                    throw new Exception("Отсуствует обязательный параметр InstallerLink\r\nXML:\r\n" + xml);
                }

                var Version = nVersion.Value;
                if (Version == null)
                {
                    throw new Exception("Отсуствует обязательный параметр Version\r\nXML:\r\n" + xml);
                }

                int vM = 1, vMaj = 0, vMin = 0;

                Helper.ParseVersionString(Version, out vM, out vMaj, out vMin);

                if (vM < GlobalData.VMain)
                {
                    return;
                }

                if (vMaj < GlobalData.VMajor)
                {
                    return;
                }

                if (vMin <= GlobalData.VMinor)
                {
                    return;
                }

                //если версия меньше
                //Обновим время проверки

                LinkToDownload = urlForDownLoad;
                vVersionNew    = Version;
            }
            catch (Exception ex)
            {
                Helper.WriteLog(ex.Message);

                IniFileManager.WriteStringKey("updates", "lastCheck", DateTime.Today.ToShortDateString());

                return;
            }


            e.Result = (int)1;
        }