public void VersionCompare(VersionCompare compare) { switch (compare) { case UpdateChecker.VersionCompare.Error: logger.Warning("Failed to check latest version"); log(Translate("VersionCheckError")); break; case UpdateChecker.VersionCompare.NeedsUpgrade: logger.Info("New version is available"); log(Translate("VersionCheckNeedsUpgrade")); break; case UpdateChecker.VersionCompare.NewRelease: log(Translate("VersionCheckNewRelease")); break; case UpdateChecker.VersionCompare.UpToDate: logger.Info("Version is up-to-date"); log(Translate("VersionCheckUpToDate")); break; default: throw new ArgumentException(); } }
//public bool ChronojumpUpdated = true; public bool GetLastVersion(string currentVersion) { // Create a request using a URL that can receive a post. if (!createWebRequest(requestType.GENERIC, "/version")) { return(false); } // Set the Method property of the request to GET. request.Method = "GET"; // Set the ContentType property of the WebRequest. //request.ContentType = "application/x-www-form-urlencoded"; HttpWebResponse response; if (!getHttpWebResponse(request, out response, Catalog.GetString("Could not get last version."))) { return(false); } string responseFromServer; using (var sr = new StreamReader(response.GetResponseStream())) { responseFromServer = sr.ReadToEnd(); } //this prints: // {"stable": "1.4.9"} //this.ResultMessage = "Last version published: " + responseFromServer; string [] strFull = responseFromServer.Split(new char[] { ':' }); int startPos = strFull[1].IndexOf('"') + 1; int endPos = strFull[1].LastIndexOf('"') - 2; string lastVersionPublished = strFull[1].Substring(startPos, endPos); //1.4.9 /* * string updateStr = ""; * if(currentVersion != lastVersionPublished) * updateStr = "\n\n" + Catalog.GetString("Update software at ") + "www.chronojump.org"; */ string str = Catalog.GetString("Installed version is: ") + currentVersion + "\n" + Catalog.GetString("Last version published: ") + lastVersionPublished; VersionCompare vCompare = new VersionCompare( new Version31(currentVersion), new Version31(lastVersionPublished)); str += "\n\n" + vCompare.ResultStr; this.ResultMessage = str; //ChronojumpUpdated = (currentVersion == ResultMessage); return(true); }
public IExternalTool CreateExternalTool(string subsys, string version, VersionCompare comp) { IExternalTool tool = (IExternalTool)CreateItem(subsys); if (version != null) { switch (comp) { case VersionCompare.ATLEAST: if (isVersionEarlier(tool.Version, version)) { return(null); } break; case VersionCompare.EQUAL: if (version != tool.Version) { return(null); } break; } } return(tool); }
private bool versionCompareTest(string v1Str, string v2Str, VersionCompare.ResultType rTypeExpected) { Version31 v1 = new Version31(v1Str); Version31 v2 = new Version31(v2Str); VersionCompare.ResultType rTypeFound = new VersionCompare(v1, v2).Result; if (rTypeFound == rTypeExpected) { LogB.Information(string.Format("Success compare of {0} with {1}", v1Str, v2Str)); return(true); } LogB.Information(string.Format("Failed compare of {0} with {1}, expecting: {2}, found: {3}", v1Str, v2Str, rTypeExpected.ToString(), rTypeFound.ToString())); return(false); }
public IExternalTool CreateExternalTool(string subsys, string version, VersionCompare comp) { IExternalTool tool = (IExternalTool) CreateItem(subsys); if (version != null) { switch (comp) { case VersionCompare.ATLEAST: if (isVersionEarlier(tool.Version, version)) return null; break; case VersionCompare.EQUAL: if (version != tool.Version) return null; break; } } return tool; }
protected void ObtainValues() { if (!IsPostBack) { VersionCompare comparisonDates; if (Request.QueryString["itemid"] != null) { itemId = EkFunctions.ReadDbLong(Request.QueryString["itemid"]); if (Request.QueryString["oldid"] != null) versionId1 = EkFunctions.ReadDbLong(Request.QueryString["oldid"]); if (Request.QueryString["diff"] != null) versionId2 = EkFunctions.ReadDbLong(Request.QueryString["diff"]); if (Request.QueryString["oldver"] != null) version1 = EkFunctions.ReadDbString(Request.QueryString["oldver"]); if (Request.QueryString["ver"] != null) version2 = EkFunctions.ReadDbString(Request.QueryString["ver"]); string versionNum = GetMessage("lbl version number"); Caption1.Text = String.Format(versionNum, version1); Caption2.Text = String.Format(versionNum, version2); comparisonDates = dataManager.GetVersionDates(itemId, versionId1, versionId2); string title = String.Format(GetMessage("lbl compare analytics for"), comparisonDates.ContentTitle); Page.Title = title; this.SetTitleBarToString(title); } else { // for debugging when itemid is not available comparisonDates = new VersionCompare("dummy", new DateTime(2009, 7, 15), new DateTime(2009, 7, 25), new DateTime(2009, 7, 26), new DateTime(2009, 8, 5)); } DateRangePicker1.StartDate = comparisonDates.BaseVersion.StartDate; DateRangePicker1.EndDate = comparisonDates.BaseVersion.EndDate; DateRangePicker2.StartDate = comparisonDates.ComparisonVersion.StartDate; DateRangePicker2.EndDate = comparisonDates.ComparisonVersion.EndDate; } _startDate1 = DateRangePicker1.StartDate; _endDate1 = DateRangePicker1.EndDate; _startDate2 = DateRangePicker2.StartDate; _endDate2 = DateRangePicker2.EndDate; _site = RequestInformationRef.HostUrl; if (_site.Length > 0) // && (null == _updateList || "" == ProviderSelect.SelectedText)) { List<string> siteList = new List<string>(); siteList.Add(_site); SiteSelect.SiteList = siteList; List<string> ProviderList = dataManager.GetSiteProviders(_site); if (!IsPostBack || null == _updateList) { _updateList = new List<string>(); foreach (string provider in ProviderList) { string providerType = dataManager.GetProviderType(provider); if ("Ektron.Cms.Analytics.Providers.SiteCatalystProvider" != providerType) { _updateList.Add(provider); } } if (_updateList.Count > 0) { _updateList.Sort(); ProviderSelect.ProviderList = _updateList; _provider = ProviderSelect.SelectedText; _providerType = dataManager.GetProviderType(_provider); UpdateAvailableMetric(_provider); } } } _provider = ProviderSelect.SelectedText; _providerType = dataManager.GetProviderType(_provider); }
public void CompareTest(string appVersion, string latestVersion, VersionCompare expected) { Assert.AreEqual(expected, Version.Compare(appVersion, latestVersion)); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //这个开关用来debug以及试用web发布,false=不检测升级,true=检测升级 bool UseUpdate = true; //AccessSystem or = new AccessSystem(); //or.AddOptrsAndRoles(); //调用VersionCompare类判断是否版本过期 //如果过期则启动升级程序,关闭主程序 //如果非过期,则启动主程序 if (UseUpdate) { VersionCompare v = new VersionCompare(); Process myProcess = new Process(); //声明并创建新进程 if (v.IsConfigFileExist) { if (v.IsVersionExpired) { try { //设置myProcess进程信息 myProcess.StartInfo.FileName = @"AppUpdater.exe"; myProcess.StartInfo.CreateNoWindow = true; myProcess.Start(); //打开进程 } catch (Win32Exception f) { if (f.NativeErrorCode == 2) { MessageBox.Show(f.Message); } else if (f.NativeErrorCode == 5) { MessageBox.Show(f.Message); } } Application.Exit(); } else { FrmLogin login = new FrmLogin(); login.ShowDialog(); if (login.DialogResult.Equals(DialogResult.OK)) { login.Dispose(); Application.Run(new FrmAppMain()); } } } else { MessageBox.Show("请检查是否存在软件升级列表或联系系统管理员!"); Application.Exit(); } } else { FrmLogin login = new FrmLogin(); login.ShowDialog(); if (login.DialogResult.Equals(DialogResult.OK)) { login.Dispose(); Application.Run(new FrmAppMain()); } } }