السلام عليكم ورحمة الله وبركاته
السؤال الموجود في العنوان,
شكراً مقدماً
السلام عليكم ورحمة الله وبركاته
السؤال الموجود في العنوان,
شكراً مقدماً
وعليكم السلام ورحمه الله وبركاته
حلوه موضوع السوال فى العنوان
بصراحه السوال غير واضح مممكن توضح اكثر
أداة تدمج في برنامج سطح مكتب تنبه المستخدم بنزول إصدار أحدث من البرنامج ثم تقوم بتنزيله وتركيبه.
كأداة تحديث jre . عند نزول إصدار جديد.
تم تعديل هذه المشاركة بواسطة log.txt في 28 يوليو 2011 في 17:23
مكتبات الinstallers في الغالب تقدم هذه الخدمات:
http://www.ej-technologies.com/products/install4j/features.html
لم أستخدم مكتبة لذلك ، ولكن يمكن القيام بذلك يدوياً اذا لم تتوفر مكتبة :
1) تتصل بالسيرفر وقت تشغيل البرنامج (أو عند الضغط على زر تحديث في البرنامج) ، وتنظر لمسار معين على السيرفر مثلا في ملف text وتقرأ رقم الاصدراه
2) اذا كان رقم الاصدارة أكبر من رقم الاصدارة لتطبيقك الحالي فمعنى ذلك هناك تحديثات ..
3) قم بتشغيل بريمج صغير يجب أن يأتي مع تطبيقك ليقوم بعملية التحديث
3) يقوم البريمج الجديد بتحميل ملفات الجار الجديدة
4) ويستبدل الملفات الجديدة بالقديمة
5) يغلق التطبيق ويقوم بتشغيله
بالتوفيق،
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science
اقتباسولكن يمكن القيام بذلك يدوياً
+1
اظنها سهلة يمكنك استخدام HttpUrlConnection للاتصال بسيرفلت مثلا على موقعك ويرسل طلب لاسترجاع الرقم للاصدار الحالى
وبقوم بعمل مقارنة له مع الرقم الحالى للبرنامج والسيرفلت يحتوى على دالة بسيطة تعيد رقم الاصدار الحالى الذى تقوم بتحديثه على موقعك كلما اصدرت نسخة جديدة
سواء من ملف نصى او من قاعدة بيانات
تبقى المرحلة الاصعب وهى استبدال المكتبات الحالية فى حين عمل البرنامج :)
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
يبدوا أن الحل اليدوي هو الخيار الوحيد والمكتبات الموجودة $$$
لكن المشكلة هي كيف أتأكد من أن السيرفر الذي تم الإتصال به
هو فعلاً سيرفر البرنامج الرسمي و أن الملفات التي أنزلها البرنامج
ملفات سليمة لم يعبث بها.
يمكن تقسيم الملفات التي يجب تنزيلها إلى نوعين:
1-ملف xml فيه رقم الاصدار ورابط التحديث الجديد و checksum
2-ملفات الإصدار الجديد من البرنامج
النوع الثاني من الملفات يتحقق منه بواسطة checksum
أما النوع الأول فيمكن :
1-أن يكون الإتصال عبر Https.
2- أو أن تكون الملفات مشفرة (asymmetrical encryption).
فأي الخيارين أسهل تطبيقاً و آمن??
دمتما بود
للأسف الحلول الإحترافيه المجانية تكون في البرامج التي تستخدم ال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
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…