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();
            }
        }
Exemple #2
0
    //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);
    }
Exemple #3
0
        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);
        }
Exemple #4
0
    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;
 }
Exemple #6
0
    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);
    }
Exemple #7
0
 public void CompareTest(string appVersion, string latestVersion, VersionCompare expected)
 {
     Assert.AreEqual(expected, Version.Compare(appVersion, latestVersion));
 }
Exemple #8
0
        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());
                }
            }
        }