예제 #1
0
        private void btn_Update_Click(object sender, RoutedEventArgs e)
        {
        	if (!File.Exists(txb_SourceDirectory.Text + @"\Yatse2.exe"))
        	{
        	    CheckIfUpdate();
                return;
        	}

            _allowBeta = File.Exists(txb_SourceDirectory.Text + @"\Yatse2.beta");
            var platform = "x86";
            if (Tools.IsFile64Bit(txb_SourceDirectory.Text + @"\Yatse2.exe") == true)
                platform = "x64";

            var repo = new RemoteRepository();
            repo.SetDebug(true);
            repo.LoadRepository(Repository, platform, Helper.AppPath + "Updates");

            var versions = repo.GetBuildList(_allowBeta);
            if (versions == null)
            {
                MessageBox.Show(GetLocalizedString(10));
                repo.CleanTemporary();
                return;
            }
            if (versions.Version.Count < 1)
            {
                MessageBox.Show(GetLocalizedString(10));
                repo.CleanTemporary();
                return;
            }
            var lastBuild = versions.Version[versions.Version.Count - 1];

            var version = Tools.GetFileRevision(txb_SourceDirectory.Text + @"\Yatse2.exe");
            if (version == lastBuild.Build)
            {
                MessageBox.Show(GetLocalizedString(12));
                repo.CleanTemporary();
                return;
            }

            var buildinfo = repo.GetVersionInfo(lastBuild);

            if (buildinfo == null)
            {
                MessageBox.Show(GetLocalizedString(14));
                repo.CleanTemporary();
            }
            else
            {
                txb_BuildInfos.Text = buildinfo.Description;
                brd_Update.Visibility = Visibility.Hidden;
                brd_BuildlInfos.Visibility = Visibility.Visible;
            }
        }