الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يوجد أداة أو مكتبة لـ auto update برنامج سطح مكتب؟

بدأه log.txt في 28 يوليو 2011 · 6 رد · 556 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

السؤال الموجود في العنوان,

شكراً مقدماً

#2

وعليكم السلام ورحمه الله وبركاته

حلوه موضوع السوال فى العنوان

بصراحه السوال غير واضح مممكن توضح اكثر

Software Developer
Mahmoudkelany.com


 

#3

أداة تدمج في برنامج سطح مكتب تنبه المستخدم بنزول إصدار أحدث من البرنامج ثم تقوم بتنزيله وتركيبه.

كأداة تحديث jre . عند نزول إصدار جديد.

تم تعديل هذه المشاركة بواسطة log.txt في 28 يوليو 2011 في 17:23

#4

مكتبات الinstallers في الغالب تقدم هذه الخدمات:

http://www.ej-technologies.com/products/install4j/features.html

لم أستخدم مكتبة لذلك ، ولكن يمكن القيام بذلك يدوياً اذا لم تتوفر مكتبة :

1) تتصل بالسيرفر وقت تشغيل البرنامج (أو عند الضغط على زر تحديث في البرنامج) ، وتنظر لمسار معين على السيرفر مثلا في ملف text وتقرأ رقم الاصدراه

2) اذا كان رقم الاصدارة أكبر من رقم الاصدارة لتطبيقك الحالي فمعنى ذلك هناك تحديثات ..

3) قم بتشغيل بريمج صغير يجب أن يأتي مع تطبيقك ليقوم بعملية التحديث

3) يقوم البريمج الجديد بتحميل ملفات الجار الجديدة

4) ويستبدل الملفات الجديدة بالقديمة

5) يغلق التطبيق ويقوم بتشغيله

بالتوفيق،

2

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#5
اقتباس

ولكن يمكن القيام بذلك يدوياً

+1

اظنها سهلة يمكنك استخدام HttpUrlConnection للاتصال بسيرفلت مثلا على موقعك ويرسل طلب لاسترجاع الرقم للاصدار الحالى

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

سواء من ملف نصى او من قاعدة بيانات

تبقى المرحلة الاصعب وهى استبدال المكتبات الحالية فى حين عمل البرنامج :)

1


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#6

يبدوا أن الحل اليدوي هو الخيار الوحيد والمكتبات الموجودة $$$

لكن المشكلة هي كيف أتأكد من أن السيرفر الذي تم الإتصال به

هو فعلاً سيرفر البرنامج الرسمي و أن الملفات التي أنزلها البرنامج

ملفات سليمة لم يعبث بها.

يمكن تقسيم الملفات التي يجب تنزيلها إلى نوعين:

1-ملف xml فيه رقم الاصدار ورابط التحديث الجديد و checksum

2-ملفات الإصدار الجديد من البرنامج

النوع الثاني من الملفات يتحقق منه بواسطة checksum

أما النوع الأول فيمكن :

1-أن يكون الإتصال عبر Https.

2- أو أن تكون الملفات مشفرة (asymmetrical encryption).

فأي الخيارين أسهل تطبيقاً و آمن??

دمتما بود

1
#7

للأسف الحلول الإحترافيه المجانية تكون في البرامج التي تستخدم الRCP، مثلا أكلبس:

http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application

وفي Netbeans platform أيضاً يمكنك استخدام خاصية الAuto-Update الموجودة على النت بينز بخطوات بسيطة ..

----

بالنسبة للوضع الحالي فالخيارين جيدين سواء تحميل الملفات عن طريق https مباشره ، أو استخدام الDigital Signatures وتشفير ملفات التحديث بالprivate key ويكون الpublic key بداخل تطبيقك ولا يسمح بعمل التحديث الا بعد التأكد من أن ملف التحديث موقع من قبل المصدر ..

بالنسبة لملف معلومات التحديث فلا توجد ضرورة لتشفيره في حال كنت تشيك على ملفات التحديث -وهي الأهم-، يكفي سؤال صفحة موجودة على السيرفر وهي ترجع لك المعلومات من هذا الملف ..

بالتوفيق،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…