صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 46

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

  1. #1

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

    سلام دوستان.
    بهترین راه برای افزودن قابلیت آپدیت آنلاین به برنامه های نوشته شده با سی شارپ چی هست؟
    اینها برامون مهمه:
    راحتی پیاده سازی
    راحتی استفاده برای کاربر
    چک کردن خودکار آپدیت توسط برنامه و دانلود و نصب خودکار آپدیت
    قابل اطمینان بودن و پایدار بودن
    ضمنا برنامه یه بخش تنظیمات داره که میخواهیم بعد از بروز رسانی تنظیمات قبلی حفظ بشه.

    هم چنین برای نصب برنامه در سیستم های جدید هم میخواهیم به روش مناسب آخرین بروزرسانی در دسترس باشه. و برنامه نصبی هم با InstallShield آماده میشه.

  2. #2
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

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

    با سلام
    یک روش به صورتی هست که خورد مایکروسافت درون visual studio قرار داده و اینکه از زبانه Publish تنظیمات Project > Properties می تونید اینکارو انجام بدیدو به این صورت که پس از بستن نرم افزار وجود آپدیت رو بررسی می کنه، که آموزشش رو قرار دادم
    روش بعد هم اینه که برنامه تون رو بصورت dll بسازید و در هنگام ورود به آدرسی که شما درش قرار میدید وصل میشه
    موفق باشید
    فایل های ضمیمه فایل های ضمیمه
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

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

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

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    با سلام
    یک روش به صورتی هست که خورد مایکروسافت درون visual studio قرار داده و اینکه از زبانه Publish تنظیمات Project > Properties می تونید اینکارو انجام بدیدو به این صورت که پس از بستن نرم افزار وجود آپدیت رو بررسی می کنه، که آموزشش رو قرار دادم
    روش بعد هم اینه که برنامه تون رو بصورت dll بسازید و در هنگام ورود به آدرسی که شما درش قرار میدید وصل میشه
    موفق باشید
    تو روش دوم مثلا کلاسهارو میشه بروزرسانی کرذد .اما اگه نیاز بود فرمها بروزرسانی بشه چی؟
    یا کلا روند روش دوم رو در صورت امکان اینجا کامل توضیح بدید که چیکار کنیم؟

  4. #4

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

    در روش اول همه کلاس ها و فرم ها بروز رسانی میشه؟ برنامه من یه بخش تنظیمات داره که میخوام بعد بروز رسانی تغییر نکنه و تنظیمات قبلی حفظ بشه.
    اگر بروزرسانی موفقیت آمیز نبود، کاربر باید چیکار کنه؟

    برای سیستم مشتریان جدید فایل نصبی باید به صورت مجزا تهیه بشه؟ فایل نصبی باید در حین نصب dll های لازم رو رجیستر کنه و یه فایل exe دیگه رو نصب کنه.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    ایران
    پست
    372

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

    نقل قول نوشته شده توسط cprogram مشاهده تاپیک
    سلام دوستان.
    بهترین راه برای افزودن قابلیت آپدیت آنلاین به برنامه های نوشته شده با سی شارپ چی هست؟
    اینها برامون مهمه:
    راحتی پیاده سازی
    راحتی استفاده برای کاربر
    چک کردن خودکار آپدیت توسط برنامه و دانلود و نصب خودکار آپدیت
    قابل اطمینان بودن و پایدار بودن
    ضمنا برنامه یه بخش تنظیمات داره که میخواهیم بعد از بروز رسانی تنظیمات قبلی حفظ بشه.

    هم چنین برای نصب برنامه در سیستم های جدید هم میخواهیم به روش مناسب آخرین بروزرسانی در دسترس باشه. و برنامه نصبی هم با InstallShield آماده میشه.
    قبل از هرچیز ، لازمه که شما یک دامین اختصاصی و یک هاست داشته باشین (از آپلود سنترهای عمومی نمیشه در این زمینه استفاده کرد)

    اگه یه سر به فولدر نصب برنامه ها در ویندوز زده باشین ، میبینید که برنامه های حرفه ای ، یه فایل Updater دارن که مستقل از برنامه اصلی هستش (استفاده از Publish مایکروسافت توصیه نمیشه)

    بنابر این شما باید یه پروژه جدید (مستقل از برنامه اصلی) ایجاد کنید.
    بعد شما یک فایل txt یا xml یا json که شامل اطلاعات نرم افزار (ورژن و ...) میباشد رو داخل سایت خودتون قرار میدین.
    وظیفه این برنامه Updater اینه که لینک مورد نظر (آدرس فایل ) رو چک میکنه و اطلاعات دریافتی رو با نسخه فعلی مقایسه میکنه و در صورتی که آپدیت جدید موجود باشه فایل مورد نظر رو دانلود میکنه و پس از دانلود با فایل اصلی جایگزین میکنه ( این فایل میتونه هرچیزی باشه exe یا dll یا ...) حتی فایل exe اصلی برنامه رو هم میشه جایگزین کرد.

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

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

    نقل قول نوشته شده توسط 336699 مشاهده تاپیک
    قبل از هرچیز ، لازمه که شما یک دامین اختصاصی و یک هاست داشته باشین (از آپلود سنترهای عمومی نمیشه در این زمینه استفاده کرد)

    اگه یه سر به فولدر نصب برنامه ها در ویندوز زده باشین ، میبینید که برنامه های حرفه ای ، یه فایل Updater دارن که مستقل از برنامه اصلی هستش (استفاده از Publish مایکروسافت توصیه نمیشه)

    بنابر این شما باید یه پروژه جدید (مستقل از برنامه اصلی) ایجاد کنید.
    بعد شما یک فایل txt یا xml یا json که شامل اطلاعات نرم افزار (ورژن و ...) میباشد رو داخل سایت خودتون قرار میدین.
    وظیفه این برنامه Updater اینه که لینک مورد نظر (آدرس فایل ) رو چک میکنه و اطلاعات دریافتی رو با نسخه فعلی مقایسه میکنه و در صورتی که آپدیت جدید موجود باشه فایل مورد نظر رو دانلود میکنه و پس از دانلود با فایل اصلی جایگزین میکنه ( این فایل میتونه هرچیزی باشه exe یا dll یا ...) حتی فایل exe اصلی برنامه رو هم میشه جایگزین کرد.
    من تو شبکه داخلی از این روش استفاده میکنم. تا حالا هم مشکلی نداشتم. من آپدیتهام رو قبل از شروع برنامه انجام میدم. به اینصورت که برنامه بسته شده و برنامه آپدیتر شروع به کپی و جایگزینی میکنه .بعد از اتمام هم برنامه آپدیتر بسته شده و برنامه اصلی اجرا میشه. اما تو سطح وب تا حالا تست نکردم.

  7. #7

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

    نقل قول نوشته شده توسط 336699 مشاهده تاپیک
    قبل از هرچیز ، لازمه که شما یک دامین اختصاصی و یک هاست داشته باشین (از آپلود سنترهای عمومی نمیشه در این زمینه استفاده کرد)

    اگه یه سر به فولدر نصب برنامه ها در ویندوز زده باشین ، میبینید که برنامه های حرفه ای ، یه فایل Updater دارن که مستقل از برنامه اصلی هستش (استفاده از Publish مایکروسافت توصیه نمیشه)

    بنابر این شما باید یه پروژه جدید (مستقل از برنامه اصلی) ایجاد کنید.
    بعد شما یک فایل txt یا xml یا json که شامل اطلاعات نرم افزار (ورژن و ...) میباشد رو داخل سایت خودتون قرار میدین.
    وظیفه این برنامه Updater اینه که لینک مورد نظر (آدرس فایل ) رو چک میکنه و اطلاعات دریافتی رو با نسخه فعلی مقایسه میکنه و در صورتی که آپدیت جدید موجود باشه فایل مورد نظر رو دانلود میکنه و پس از دانلود با فایل اصلی جایگزین میکنه ( این فایل میتونه هرچیزی باشه exe یا dll یا ...) حتی فایل exe اصلی برنامه رو هم میشه جایگزین کرد.
    فکر کنم روش خوبی باشه. در مورد فایل تکست یا xml، این فایل باید دستی تنظیم بشه یا نه به روشی مانند Publish میشه اتوماتش کرد؟

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

    برای اینکه Updater بتونه بفهمه که کدوم قسمت ها نیاز به بروز رسانی دارند، ورژن بخش های مختلف برنامه باید در اون فایل txt یا xml نوشته بشه؟
    برای بروز رساتی خود Updater چیکار باید کرد؟
    اگر برنامه بروز رسانی شده به هر دلیلی اجرا نشه، بهترین روش برای مقابله با این ایراد چی هست؟ نگه داشتن فایل های آخرین ورژن پایدار؟

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

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

    نقل قول نوشته شده توسط cprogram مشاهده تاپیک
    فکر کنم روش خوبی باشه. در مورد فایل تکست یا xml، این فایل باید دستی تنظیم بشه یا نه به روشی مانند Publish میشه اتوماتش کرد؟

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

    برای اینکه Updater بتونه بفهمه که کدوم قسمت ها نیاز به بروز رسانی دارند، ورژن بخش های مختلف برنامه باید در اون فایل txt یا xml نوشته بشه؟
    برای بروز رساتی خود Updater چیکار باید کرد؟
    اگر برنامه بروز رسانی شده به هر دلیلی اجرا نشه، بهترین روش برای مقابله با این ایراد چی هست؟ نگه داشتن فایل های آخرین ورژن پایدار؟
    فایل نصب یه مسیر جدید و فایلهای بروز رسانی در یک مسیر دیگه باشه.
    فایل متنی هم کاری نداره که هر از گاهی یه بار ویرایش میهش(من روش کارم به این صورته که تاریخ بروزرسانی رو ثبت میکنم و تو برنامه مشتری تاریخ هارو چک میکنم.بعد آپدیت هم تاریخ مشتری رو هم بروز میکنم)
    خودم فعلا کل برنامه رو بروزرسانی میکنم.
    برای خود آپدیتر هم میتونی از خود برنامه کمک بگیری. مثلا موقع بسته شدن برنامه. البته همون کار اینبار برعکس.
    میتونید قبل از جایگزینی فایلهای وجود رو در یک پوشه ذخیره کرده و بعد اقدام به بروزرسانی کنید. در صورت به وجود اومدن هر گونه ایراد فایلهای قبلی رو دوباره برگردونید

  9. #9

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

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    فایل نصب یه مسیر جدید و فایلهای بروز رسانی در یک مسیر دیگه باشه.
    فایل متنی هم کاری نداره که هر از گاهی یه بار ویرایش میهش(من روش کارم به این صورته که تاریخ بروزرسانی رو ثبت میکنم و تو برنامه مشتری تاریخ هارو چک میکنم.بعد آپدیت هم تاریخ مشتری رو هم بروز میکنم)
    خودم فعلا کل برنامه رو بروزرسانی میکنم.
    برای خود آپدیتر هم میتونی از خود برنامه کمک بگیری. مثلا موقع بسته شدن برنامه. البته همون کار اینبار برعکس.
    میتونید قبل از جایگزینی فایلهای وجود رو در یک پوشه ذخیره کرده و بعد اقدام به بروزرسانی کنید. در صورت به وجود اومدن هر گونه ایراد فایلهای قبلی رو دوباره برگردونید
    برای سرور که برنامه خاصی یا تنظیمات خاصی نیاز نیست؟ از چه پروتکل ارتباطی استفاده بشه بهتره؟ ftp و ...
    برای اینکه بتونم خیلی سریع این قابلیت رو به برنامه ام اضافه کنم، آیا چیز آماده ای هست؟

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

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

    نقل قول نوشته شده توسط cprogram مشاهده تاپیک
    برای سرور که برنامه خاصی یا تنظیمات خاصی نیاز نیست؟ از چه پروتکل ارتباطی استفاده بشه بهتره؟ ftp و ...
    برای اینکه بتونم خیلی سریع این قابلیت رو به برنامه ام اضافه کنم، آیا چیز آماده ای هست؟
    من داخل شبکه دومین استفاده میکنم. تنظیمی نیاز نیست. فقط باید اون پوشه رو همه سیستمها بتونن دسترسی داشته باشن.

  11. #11

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

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    من داخل شبکه دومین استفاده میکنم. تنظیمی نیاز نیست. فقط باید اون پوشه رو همه سیستمها بتونن دسترسی داشته باشن.
    برای اینکه سریع بتونم به برنامه خودم همچین قابلیتی اضافه کنم پروژه آماده ای هست که استفاده کنم یا نه؟
    شما Updater رو خودتون نوشتید؟

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

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

    نقل قول نوشته شده توسط cprogram مشاهده تاپیک
    برای اینکه سریع بتونم به برنامه خودم همچین قابلیتی اضافه کنم پروژه آماده ای هست که استفاده کنم یا نه؟
    شما Updater رو خودتون نوشتید؟
    پروژه آماده ای ندیدم. بله خودم نوشتم.

  13. #13

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

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    پروژه آماده ای ندیدم. بله خودم نوشتم.
    برای افزودن این قابلیت به برنامه من این ها رو توی نت دیدم.
    نظرتون در مورد این ها چی هست؟
    https://www.codeproject.com/Articles...ation-update-i
    https://wyday.com/wybuild/help/automatic-updates/

  14. #14

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

    دوستان نظری ندارند؟
    راهی برای پیاده سازی سریع روش پیشنهادی آقای مرادی نیست؟

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

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

    نقل قول نوشته شده توسط cprogram مشاهده تاپیک
    دوستان نظری ندارند؟
    راهی برای پیاده سازی سریع روش پیشنهادی آقای مرادی نیست؟
    میخواید تحت شبکه داخلی باشه یا اینترنت؟

  16. #16
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

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

    نقل قول نوشته شده توسط cprogram مشاهده تاپیک
    دوستان نظری ندارند؟
    راهی برای پیاده سازی سریع روش پیشنهادی آقای مرادی نیست؟
    شما یک برنامه به عنوان مثال Updater بساز و فایل exe رو بزار کنار برنامت
    این برنامه از توی اینترنت یک فایل متنی رو می خونه(که روشش بارها توی سایت توضیح داده شده جستجو کنید) و بعد اگر ورژن اون فایل از ورژن برنامه بالاتر بود بیاد از روی یک سایت اونو دانلود کنه یا یکار راحت تر مثل برنامه تلگرام دسکتاپ لینک موقع بالا اومدن پیام آپدیت موجود است رو بده و با زدن دانلود بره توی صفحه دانلود.
    البته اگر لینک بخواید بدید و خودش دانلود کنه نیازی به برنامه مجزا نیست و می تونید توی همون برنامه اصلی هم انجام بدید
    بدست آوردن ورژن که از توی Properties تنظیم میشه:
    متد:

    public string AssemblyVersion
    {
    get
    {
    return System.Reflection.Assembly.GetExecutingAssembly(). GetName().Version.ToString();
    }
    }

    استفاده:

    string AppVer = String.Format("Version {0}", AssemblyVersion);

    اینم الگوریتم
    حالا شما شروع به کدنویسی کنید، مشکل داشتید اینجا مطرح کنید تا دوستان راهنمایی کنند
    موفق باشید
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  17. #17
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

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

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    البته اگر لینک بخواید بدید و خودش دانلود کنه نیازی به برنامه مجزا نیست و می تونید توی همون برنامه اصلی هم انجام بدید
    با سلام
    این بخش رو یک مقدار توضیح میدید؟

  18. #18
    کاربر دائمی آواتار حسین.کاظمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    Microsoft Visual Studio
    پست
    652

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

    سلام
    تو همین سایت یادم هست ینفر ی dll در این زمینه نوشته بود....
    جست و جوش کنید

  19. #19

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

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

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

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

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

  21. #21

    نقل قول: قابلیت به روز رسانی خودکار برای برنامه های 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();
    }

  22. #22

    نقل قول: قابلیت به روز رسانی خودکار برای برنامه های 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();
    }
    امکان داره بصورت یک پروژه قرار بدید

  23. #23

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

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

  24. #24
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

    خوب اگه بخوایم فایل های دیگه رو هم آپدیت کنیم چی ؟ مثلا عکسی . یا dll باید اضافه کنیم

  25. #25

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

    نقل قول نوشته شده توسط NasimBamdad مشاهده تاپیک
    خوب اگه بخوایم فایل های دیگه رو هم آپدیت کنیم چی ؟ مثلا عکسی . یا dll باید اضافه کنیم
    هر فایلی خواستین بزارین داخل زیپ بعدش که برنامه دانلود کرد خودش انزیپ و جایگزین کنه

  26. #26
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

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

    خوب من تابعی برای آنزیپ و اینطور چیزا ندیدم

  27. #27

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

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

  28. #28

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

    نقل قول نوشته شده توسط NasimBamdad مشاهده تاپیک
    خوب من تابعی برای آنزیپ و اینطور چیزا ندیدم
    این سورس رو دانلود کنید نسخه کامل هستش از برنامه خودتون اپدیت رو چک میکنید در صورت وجود نسخه جدید اپدیتر رو اجرا میکنه و شروع به دانلود میکنه بعدش فایل rar رو باز میکنه و...
    برنامه رو بیلد و دمو رو اجرا کنید
    http://s8.picofile.com/file/83515257...dater.rar.html

  29. #29
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

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

    نقل قول نوشته شده توسط barnamenevisjavan مشاهده تاپیک
    این سورس رو دانلود کنید نسخه کامل هستش از برنامه خودتون اپدیت رو چک میکنید در صورت وجود نسخه جدید اپدیتر رو اجرا میکنه و شروع به دانلود میکنه بعدش فایل rar رو باز میکنه و...
    برنامه رو بیلد و دمو رو اجرا کنید
    http://s8.picofile.com/file/83515257...dater.rar.html
    این خطا رو میده

  30. #30

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

    نقل قول نوشته شده توسط booysusa مشاهده تاپیک
    این خطا رو میده
    چک کردم مشکلی نداره اگر کدها یا لینک اپدیت رو تغییر دادین بگین تا بهتر راهنمایی کنم، خطایی که گرفته مربوط به ارگومان هستش، تو برنامه اصلی اپدیت رو چک میکنیم و در صورتی که موجود باشه برنامه اپدیتر رو اجرا میکنیم و لینک دانلود اپدیت جدید رو بهش پاس میدیم چک کنید ببینید لینک دانلود موجود هست یا ن شاید خالی هست بخاطر اون خطا میده

  31. #31
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

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

    با سلام و تشکر از شما

    دیتابیس رو چیکار میکنید

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

  32. #32

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

    نقل قول نوشته شده توسط rahmatipoor مشاهده تاپیک
    با سلام و تشکر از شما

    دیتابیس رو چیکار میکنید

    چون ممکنه هر کدوم از مشتریها نسخه های مختلفی از برنامه و دیتابیس داشته باشن
    سلام دیتابیس رو هم با migration راحت میشه حلش کرد

  33. #33
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

    نقل قول نوشته شده توسط barnamenevisjavan مشاهده تاپیک
    چک کردم مشکلی نداره اگر کدها یا لینک اپدیت رو تغییر دادین بگین تا بهتر راهنمایی کنم، خطایی که گرفته مربوط به ارگومان هستش، تو برنامه اصلی اپدیت رو چک میکنیم و در صورتی که موجود باشه برنامه اپدیتر رو اجرا میکنیم و لینک دانلود اپدیت جدید رو بهش پاس میدیم چک کنید ببینید لینک دانلود موجود هست یا ن شاید خالی هست بخاطر اون خطا میده

    برای منم خطا میده


    System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'


    همون آرگمان url = args[0];


    فایل هم موجوده و ....

  34. #34

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

    نقل قول نوشته شده توسط NasimBamdad مشاهده تاپیک
    برای منم خطا میده


    System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'


    همون آرگمان url = args[0];


    فایل هم موجوده و ....
    به نظر من یا فایل xml مشکل داره یا فایل رو در جای مناسب اپلود نکردین
    پروژتون رو قرار بدین بررسی کنم

  35. #35
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

    پاک شود پاک شود پاک شود پاک شود
    آخرین ویرایش به وسیله NasimBamdad : سه شنبه 23 بهمن 1397 در 22:42 عصر

  36. #36
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

    بالاخره موفق شدم.

    مشکل این بود در فایل xmlاز https استفاده کرده بودم

    عزیزان دقت کنید که ملاک رو پروژه کامپایل شده در پست بالا قرار ندادید و. اون رو اجرا نگیرید.

    فایل dll رو بر اساس نیاز هاتون تغییر بدید و کامپایل و کنار پروژه قرار بدید.
    آخرین ویرایش به وسیله NasimBamdad : سه شنبه 23 بهمن 1397 در 22:34 عصر

  37. #37
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

    1- اون آدرس فایل اجرایی نرم افزار رو چه طوری میشه از برنامه خودمون بهش پاس بدیم ؟ اینکه برای پروژه های زیاد صرفه جویی وقت مهمه


    System.Diagnostics.Process.Start("WareHouse.exe");
    آخرین ویرایش به وسیله NasimBamdad : سه شنبه 23 بهمن 1397 در 22:58 عصر

  38. #38
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

    یه مشکل دیگه هم هست که بنده ورژن فایلم با ورژنی که در فایل xml تعیین شده یکی هست ، اما بازم پیغام آپدیت رو میده

  39. #39

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

    نقل قول نوشته شده توسط NasimBamdad مشاهده تاپیک
    1- اون آدرس فایل اجرایی نرم افزار رو چه طوری میشه از برنامه خودمون بهش پاس بدیم ؟ اینکه برای پروژه های زیاد صرفه جویی وقت مهمه


    System.Diagnostics.Process.Start("WareHouse.exe");
    نقل قول نوشته شده توسط NasimBamdad مشاهده تاپیک
    یه مشکل دیگه هم هست که بنده ورژن فایلم با ورژنی که در فایل xml تعیین شده یکی هست ، اما بازم پیغام آپدیت رو میده
    برای پاس دادن ادرس فایل، مثل پاس دادن لینک عمل کنید، کافیه یه ارگومان دیگه اضافه کنید
     System.Diagnostics.Process.Start("AppUpdater.exe",  AppUpdater.Updater.url, "Harchi ke Hast");

    و داخل اپدیتر برنامه هم به این صورت ارگومانو دریافت کنین
    MessageBox.Show(args[1];)

    کافیه اندیس args رو تغییر بدین
    برای مورد اخر هم دقت کنید که باید ورژن برنامه بصورت 4 رقمی تعیین کنین
    هم تو داخل برنامه
    1.0.0.0 و هم داخل فایل کانفیگ 1.0.0.0 هیچ مشکلی نداره در صورتی که ورژن یکی باشه اپدیت دریافت نمیشه

  40. #40
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

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

    اینم نمونه عکسی که گذاشتم برای ورژن ها
    عکس های ضمیمه عکس های ضمیمه

صفحه 1 از 2 12 آخرآخر

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

  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 عصر

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

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

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