كيف تجعل برنامجك يقوم بالتحقق من التحديثات C#

ك

بسم الله الرحمن الرحيم

السلام عليكم

سأريكم اليوم كيف تجعل برنامجك قابل للتحديث من الانترنت اي ستضيف خاصية التحقق من التحديثات وفي حال تواجد تحديث سيحولك الى صفحة انترنت تحمل منها الاصدار الجديد.

Capture

Capture

يوجد عدة طرق لهذا الشئ ولكني ساستخدم ابسط طريقة ولكم الحرية

أولا: سننشئ متغير داخل البرنامج يحتوي اصدار البرنامج

اذهب الى قائمة Project ثم اختر اخر خيار check for  update project properties

واذهب الى Resources واضف متغير من نوع string وسمه version واعطه قيمة ابتدائية وليكن 1.0 ان هذا الاصدار الاول أو يمكنك انشاء متغير من نوع float في البرنامج يحمل نفس الرقم بدل من الطريقة هذه

float version=1.0;

Capture

ثانيا: ستحتاج الى صفحة html او ملف txt ترفعه لموقعك يحتوي على الاصدار الجديد في حين تصدره او رقم الاصدار الحالي في حال لايوجد تحديث كل محتواه هو رقم الاصدار مثلا سيحتوي على 1.1

ثالثا: سنحتاج الى انشاء متغير من نوع WebClient ولذلك لابد من استخدام النطاق .net

using System.Net;
WebClient wc =new WebClient();

رابعا : نقوم بتحميل محتوى الصفحة اللي تحتوي على رقم الاصدار

string content = wc.DownloadString("http://ahmadmagdy.me/v.txt");

خامسا: نقوم بالمقارنة بين الرقم المحمل والاصدار المخزن بالبرنامج في حين كان اكبر سيخبرك انه يوجد اصدار احدث ويظهر رقم الاصدار وفي حين لايوجد سيخبرك انه لايوجد تحديث

وفي عرض التحديث سيظهر امكانية تحميله في حين الضغط على yes وسيحولك لصفحة محددة مسبقا

انا افضل ان تكون صفحة فارغة وتضيف في الصفحة اعادة تحويل لرابط تحميل الاصدار الاحدث في كل اصدار يحوله للاصدار الاحدث

if (float.Parse(Properties.Resources.version) < float.Parse(content))
{
DialogResult dr= MessageBox.Show("There are a new version " + content + " do you want to download it?", "Alter",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
Process.Start("http://ahmadmagdy.me/blog");
}
else
{
this.Close();
}
}
else
{
MessageBox.Show("You have a latest version");
}

الكود كامل :

using System.Net;
using System.Diagnostics;
private void button1_Click(object sender, EventArgs e)
{
WebClient wc =new WebClient();
string content = wc.DownloadString("http://ahmadmagdy.me/v.txt");
if (float.Parse(Properties.Resources.version) < float.Parse(content))
{
DialogResult dr= MessageBox.Show("There are a new version " + content + " do you want to download it?", "Alter",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
Process.Start("http://ahmadmagdy.me/blog");
}
else
{
this.Close();
}
}
else
{
MessageBox.Show("You have a latest version");
}
}

عن الكاتب

أحمد مجدي

Full Stack Software Developer , Geek

أضف تعليقاً

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.