Mahdi72.TYUpdater 1.12.11

کتابخانه ای برای افزودن قابلیت بروزرسانی برای برنامه ها بصورت انلاین

Install-Package Mahdi72.TYUpdater -Version 1.12.11
dotnet add package Mahdi72.TYUpdater --version 1.12.11
<PackageReference Include="Mahdi72.TYUpdater" Version="1.12.11" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Mahdi72.TYUpdater --version 1.12.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

ابتدا کتابخانه را یوزینگ کنید

using TYUpdater;

یک شی از کلاس های کتابخانه ایجاد کنید

Updater m_Updater = null;
        UpdaterApp m_App = null;

متدهای زیر را اینتیالیز کنید

m_Updater = new Updater(null, string.Empty, "Windows");
            m_Updater.CheckCompletedDelegate += CheckCompleted;
            m_Updater.DownloadingDelegate += Download;
            m_Updater.DownloadCompletedDelegate += DownloadCompleted;

در رویداد چک کردن بروزرسانی کدهای زیر را قرار دهید

 m_Updater.Url = new Uri("http://url.com/updater.php");
            m_Updater.AppName = Application.ResourceAssembly.GetName().Name;
            m_Updater.AppCurrentVersion = "";
            m_Updater.Check();

            txtResult.Clear();
            txtResult.AppendText("Checking application version...\r\n");
           

سپس تابع زیر

private void CheckCompleted(UpdaterApp app)
        {
            m_App = app;
            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
            Dispatcher.BeginInvoke(new Action(() =>
            {
                if (m_App != null) {
          txtOutput.AppendText(string.Format("Name: {0}\r\n", app.Name));
          txtOutput.AppendText(string.Format("Version: {0}\r\n", app.Version));
          txtOutput.AppendText(string.Format("File name: {0}\r\n", app.FileName));
          txtOutput.AppendText(string.Format("Released: {0}\r\n", app.ReleaseDate));
          txtOutput.AppendText(string.Format("Url: {0}\r\n", app.Url));
          txtOutput.AppendText("Changelog:\r\n");
          txtOutput.AppendText(string.Format("{0}\r\n", app.Changelog));
          txtOutput.AppendText("Message:\r\n");
          txtOutput.AppendText(string.Format("{0}\r\n", app.Message));
        } else {
          txtOutput.AppendText("Application not found\r\n");
        }
      }));
        }
}

private void btnDownload_Click(object sender, RoutedEventArgs e)
    {
      if (m_App != null) {
        m_Updater.Download(m_App.Url, string.Format("{0}\\{1}", System.IO.Path.GetTempPath(), m_App.FileName));
      }
    }

    private void Download(string filename, double percentage)
    {
      pgbProgress.Maximum = 100;
      pgbProgress.Value = percentage;
    }

    private void DownloadCompleted(string filename)
    {
      ProcessStartInfo psInfo = new ProcessStartInfo(filename);
      psInfo.UseShellExecute = true;
      Process process = Process.Start(psInfo);
      App.Current.Shutdown();
    }

کدهای سمت سرور را از اینجا دانلود کنید و در هاست خود اپلود کنید
http://s8.picofile.com/file/8314345418/server.zip.html

ابتدا کتابخانه را یوزینگ کنید

using TYUpdater;

یک شی از کلاس های کتابخانه ایجاد کنید

Updater m_Updater = null;
        UpdaterApp m_App = null;

متدهای زیر را اینتیالیز کنید

m_Updater = new Updater(null, string.Empty, "Windows");
            m_Updater.CheckCompletedDelegate += CheckCompleted;
            m_Updater.DownloadingDelegate += Download;
            m_Updater.DownloadCompletedDelegate += DownloadCompleted;

در رویداد چک کردن بروزرسانی کدهای زیر را قرار دهید

 m_Updater.Url = new Uri("http://url.com/updater.php");
            m_Updater.AppName = Application.ResourceAssembly.GetName().Name;
            m_Updater.AppCurrentVersion = "";
            m_Updater.Check();

            txtResult.Clear();
            txtResult.AppendText("Checking application version...\r\n");
           

سپس تابع زیر

private void CheckCompleted(UpdaterApp app)
        {
            m_App = app;
            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
            Dispatcher.BeginInvoke(new Action(() =>
            {
                if (m_App != null) {
          txtOutput.AppendText(string.Format("Name: {0}\r\n", app.Name));
          txtOutput.AppendText(string.Format("Version: {0}\r\n", app.Version));
          txtOutput.AppendText(string.Format("File name: {0}\r\n", app.FileName));
          txtOutput.AppendText(string.Format("Released: {0}\r\n", app.ReleaseDate));
          txtOutput.AppendText(string.Format("Url: {0}\r\n", app.Url));
          txtOutput.AppendText("Changelog:\r\n");
          txtOutput.AppendText(string.Format("{0}\r\n", app.Changelog));
          txtOutput.AppendText("Message:\r\n");
          txtOutput.AppendText(string.Format("{0}\r\n", app.Message));
        } else {
          txtOutput.AppendText("Application not found\r\n");
        }
      }));
        }
}

private void btnDownload_Click(object sender, RoutedEventArgs e)
    {
      if (m_App != null) {
        m_Updater.Download(m_App.Url, string.Format("{0}\\{1}", System.IO.Path.GetTempPath(), m_App.FileName));
      }
    }

    private void Download(string filename, double percentage)
    {
      pgbProgress.Maximum = 100;
      pgbProgress.Value = percentage;
    }

    private void DownloadCompleted(string filename)
    {
      ProcessStartInfo psInfo = new ProcessStartInfo(filename);
      psInfo.UseShellExecute = true;
      Process process = Process.Start(psInfo);
      App.Current.Shutdown();
    }

کدهای سمت سرور را از اینجا دانلود کنید و در هاست خود اپلود کنید
http://s8.picofile.com/file/8314345418/server.zip.html

Release Notes

First Release

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.12.11 291 12/15/2017