نمایش نتایج 1 تا 40 از 46

نام تاپیک: قابلیت به روز رسانی خودکار برای برنامه های Windows Form Application

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    نقل قول: قابلیت به روز رسانی خودکار برای برنامه های Windows Form Application

    ر بعضی از سیستم ها جایگزین کردن با مشکل مواجه میشه
    مخصوصا وقتی شبکه باشه و فایل اجرایی از روی شبکه اجرا بشه من این مشکل رو دارم و خیلی احتیاج به کمک دارم در این زمینه

  2. #2
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,964

    نقل قول: قابلیت به روز رسانی خودکار برای برنامه های Windows Form Application

    نقل قول نوشته شده توسط mostafa_bahar مشاهده تاپیک
    ر بعضی از سیستم ها جایگزین کردن با مشکل مواجه میشه
    مخصوصا وقتی شبکه باشه و فایل اجرایی از روی شبکه اجرا بشه من این مشکل رو دارم و خیلی احتیاج به کمک دارم در این زمینه
    خب وقتی فایلی درحال اجرا بشه امکان تغییر تو اون وجود نداره. برنامه شما باید رو تک تک سیستمها نصب باشه و هر کاربر برنامه خودشو اپئدیت کنه یا اینکه اپدیت برنام مرکزی زمانی اتفاق بی افته که هیچ سیستمی اون فایل رو اجرا نکرده باشه

  3. #3

    نقل قول: قابلیت به روز رسانی خودکار برای برنامه های Windows Form Application

    سلام برای بروز رسانی برنامه میتونید به این روش استفاده کنید
    اول یه فایل xml ایجاد کنید و اطلاعات زیر رو وارد کنید
    <?xml version="1.0" encoding="utf-8"?>
    <MoalemYar>
    <AppVersion>
    <version>2.2.5772.0</version>
    <url>https://app.com/app.exe</url>
    <changelog>
    بهبود رابط کاربری
    حل مشکلات
    افزودن ویژگی های جدید
    بهبود تجربه کاربری
    </changelog>
    </AppVersion>
    </MoalemYar>

    حالا این فایل رو در اینترنت اپلود کنید
    حالا یک پروژه دیگه جدا از پروژه اصلی ایجاد کنید و کدهای زیر رو بنویسید تا این اطلاعات رو دریافت و با ورژن خود برنامه مقایسه کنه
    بعدش موقع چک کردن اگر ورژن جدیدی پیدا شد میتونید برنامه اصلی رو ببندید و نسخه جدید رو جایگزین قبلی کنید اگر نتونستید استفاده کنید بگید تا بصورت یک کتابخانه براتون ایجاد کنم

    public static string UpdateServer = "https://app.com/Updater.xml";
    public const string UpdateXmlTag = "MoalemYar"; //Defined in Xml file
    public const string UpdateXmlChildTag = "AppVersion"; //Defined in Xml file
    public const string UpdateVersionTag = "version"; //Defined in Xml file
    public const string UpdateUrlTag = "url"; //Defined in Xml file
    public const string UpdateChangeLogTag = "changelog";
    private string newVersion = string.Empty;


    private string url = "";
    private void CheckUpdate()
    {
    try
    {
    newVersion = string.Empty;
    ChangeLog = string.Empty;
    url = "";


    XDocument doc = XDocument.Load(UpdateServer);
    var items = doc
    .Element(XName.Get(UpdateXmlTag))
    .Elements(XName.Get(UpdateXmlChildTag));
    var versionItem = items.Select(ele => ele.Element(XName.Get(UpdateVersionTag)).Value);
    var urlItem = items.Select(ele => ele.Element(XName.Get(UpdateUrlTag)).Value);
    var changelogItem = items.Select(ele => ele.Element(XName.Get(UpdateChangeLogTag)).Value);


    newVersion = versionItem.FirstOrDefault();
    url = urlItem.FirstOrDefault();
    ChangeLog = changelogItem.FirstOrDefault();
    CompareVersions();
    }
    catch (Exception)
    {
    }
    }


    private void CompareVersions()
    {
    if (IsVersionLater(newVersion, getAppVersion.ToString()))
    {
    txtNewVersion.Content = newVersion;
    txtNewVersion.Foreground = new SolidColorBrush(Colors.Green);
    txtNewVersion.Visibility = Visibility.Visible;
    txtChangeLog.Visibility = Visibility.Visible;
    txtChangeLog.Text = ChangeLog;
    showNotification(Update_KEY, true, newVersion, url);
    }
    else
    {
    showNotification(Update_KEY, false);
    txtNewVersion.Content = "شما از آخرین نسخه استفاده می کنید";
    txtNewVersion.Visibility = Visibility.Visible;
    }
    }


    public static bool IsVersionLater(string newVersion, string oldVersion)
    {
    // split into groups
    string[] cur = newVersion.Split('.');
    string[] cmp = oldVersion.Split('.');
    // get max length and fill the shorter one with zeros
    int len = Math.Max(cur.Length, cmp.Length);
    int[] vs = new int[len];
    int[] cs = new int[len];
    Array.Clear(vs, 0, len);
    Array.Clear(cs, 0, len);
    int idx = 0;
    // skip non digits
    foreach (string n in cur)
    {
    if (!Int32.TryParse(n, out vs[idx]))
    {
    vs[idx] = -999; // mark for skip later
    }
    idx++;
    }
    idx = 0;
    foreach (string n in cmp)
    {
    if (!Int32.TryParse(n, out cs[idx]))
    {
    cs[idx] = -999; // mark for skip later
    }
    idx++;
    }
    for (int i = 0; i < len; i++)
    {
    // skip non digits
    if ((vs[i] == -999) || (cs[i] == -999))
    {
    continue;
    }
    if (vs[i] < cs[i])
    {
    return (false);
    }
    else if (vs[i] > cs[i])
    {
    return (true);
    }
    }
    return (false);
    }


    private void btnCheckUpdate_Click(object sender, RoutedEventArgs e)
    {
    CheckUpdate();
    }

  4. #4

    نقل قول: قابلیت به روز رسانی خودکار برای برنامه های Windows Form Application

    نقل قول نوشته شده توسط barnamenevisjavan مشاهده تاپیک
    سلام برای بروز رسانی برنامه میتونید به این روش استفاده کنید
    اول یه فایل xml ایجاد کنید و اطلاعات زیر رو وارد کنید
    <?xml version="1.0" encoding="utf-8"?>
    <MoalemYar>
    <AppVersion>
    <version>2.2.5772.0</version>
    <url>https://app.com/app.exe</url>
    <changelog>
    بهبود رابط کاربری
    حل مشکلات
    افزودن ویژگی های جدید
    بهبود تجربه کاربری
    </changelog>
    </AppVersion>
    </MoalemYar>

    حالا این فایل رو در اینترنت اپلود کنید
    حالا یک پروژه دیگه جدا از پروژه اصلی ایجاد کنید و کدهای زیر رو بنویسید تا این اطلاعات رو دریافت و با ورژن خود برنامه مقایسه کنه
    بعدش موقع چک کردن اگر ورژن جدیدی پیدا شد میتونید برنامه اصلی رو ببندید و نسخه جدید رو جایگزین قبلی کنید اگر نتونستید استفاده کنید بگید تا بصورت یک کتابخانه براتون ایجاد کنم

    public static string UpdateServer = "https://app.com/Updater.xml";
    public const string UpdateXmlTag = "MoalemYar"; //Defined in Xml file
    public const string UpdateXmlChildTag = "AppVersion"; //Defined in Xml file
    public const string UpdateVersionTag = "version"; //Defined in Xml file
    public const string UpdateUrlTag = "url"; //Defined in Xml file
    public const string UpdateChangeLogTag = "changelog";
    private string newVersion = string.Empty;


    private string url = "";
    private void CheckUpdate()
    {
    try
    {
    newVersion = string.Empty;
    ChangeLog = string.Empty;
    url = "";


    XDocument doc = XDocument.Load(UpdateServer);
    var items = doc
    .Element(XName.Get(UpdateXmlTag))
    .Elements(XName.Get(UpdateXmlChildTag));
    var versionItem = items.Select(ele => ele.Element(XName.Get(UpdateVersionTag)).Value);
    var urlItem = items.Select(ele => ele.Element(XName.Get(UpdateUrlTag)).Value);
    var changelogItem = items.Select(ele => ele.Element(XName.Get(UpdateChangeLogTag)).Value);


    newVersion = versionItem.FirstOrDefault();
    url = urlItem.FirstOrDefault();
    ChangeLog = changelogItem.FirstOrDefault();
    CompareVersions();
    }
    catch (Exception)
    {
    }
    }


    private void CompareVersions()
    {
    if (IsVersionLater(newVersion, getAppVersion.ToString()))
    {
    txtNewVersion.Content = newVersion;
    txtNewVersion.Foreground = new SolidColorBrush(Colors.Green);
    txtNewVersion.Visibility = Visibility.Visible;
    txtChangeLog.Visibility = Visibility.Visible;
    txtChangeLog.Text = ChangeLog;
    showNotification(Update_KEY, true, newVersion, url);
    }
    else
    {
    showNotification(Update_KEY, false);
    txtNewVersion.Content = "شما از آخرین نسخه استفاده می کنید";
    txtNewVersion.Visibility = Visibility.Visible;
    }
    }


    public static bool IsVersionLater(string newVersion, string oldVersion)
    {
    // split into groups
    string[] cur = newVersion.Split('.');
    string[] cmp = oldVersion.Split('.');
    // get max length and fill the shorter one with zeros
    int len = Math.Max(cur.Length, cmp.Length);
    int[] vs = new int[len];
    int[] cs = new int[len];
    Array.Clear(vs, 0, len);
    Array.Clear(cs, 0, len);
    int idx = 0;
    // skip non digits
    foreach (string n in cur)
    {
    if (!Int32.TryParse(n, out vs[idx]))
    {
    vs[idx] = -999; // mark for skip later
    }
    idx++;
    }
    idx = 0;
    foreach (string n in cmp)
    {
    if (!Int32.TryParse(n, out cs[idx]))
    {
    cs[idx] = -999; // mark for skip later
    }
    idx++;
    }
    for (int i = 0; i < len; i++)
    {
    // skip non digits
    if ((vs[i] == -999) || (cs[i] == -999))
    {
    continue;
    }
    if (vs[i] < cs[i])
    {
    return (false);
    }
    else if (vs[i] > cs[i])
    {
    return (true);
    }
    }
    return (false);
    }


    private void btnCheckUpdate_Click(object sender, RoutedEventArgs e)
    {
    CheckUpdate();
    }
    امکان داره بصورت یک پروژه قرار بدید

  5. #5

    نقل قول: قابلیت به روز رسانی خودکار برای برنامه های Windows Form Application

    نقل قول نوشته شده توسط Helpco مشاهده تاپیک
    امکان داره بصورت یک پروژه قرار بدید
    براتون پیوست کردم
    فایل های ضمیمه فایل های ضمیمه

تاپیک های مشابه

  1. به روز رسانی خودکار برنامه
    نوشته شده توسط nasr در بخش Android Studio
    پاسخ: 0
    آخرین پست: پنج شنبه 26 آذر 1394, 08:18 صبح
  2. از صفر تا صد کار با sql express و ساخت فایل نصب خودکار برای برنامه های نوشته شده با دلفی
    نوشته شده توسط MOJTABAATEFEH در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 5
    آخرین پست: پنج شنبه 18 تیر 1394, 14:41 عصر
  3. پاسخ: 7
    آخرین پست: جمعه 21 مهر 1391, 18:37 عصر
  4. به روز رسانی خودکار اطلاعات جداول در SQL
    نوشته شده توسط sirvan-me در بخش C#‎‎
    پاسخ: 9
    آخرین پست: دوشنبه 29 خرداد 1391, 09:36 صبح
  5. سوال: مشکل در به روز رسانی بانک داده ( برنامه لایه ای )
    نوشته شده توسط Milo_22 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: شنبه 13 فروردین 1390, 17:35 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •