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; } }
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; }