هل من الممكن نشر تطبيق دلفي أصلي باستخدام ClickOnce

StackOverflow https://stackoverflow.com/questions/51686

  •  09-06-2019
  •  | 
  •  

سؤال

هل من الممكن نشر تطبيق دلفي أصلي باستخدام ClickOnce بدون كعب روتين C# exe الذي يمكن استخدامه لبدء تشغيل تطبيق دلفي؟

ينطبق نفس السؤال على VB6 وC++ وتطبيقات Windows الأصلية الأخرى.

هل كانت مفيدة؟

المحلول

أنا شخصياً أقوم بإنشاء آليتي الخاصة لبدء عملية التحديث الذاتي عندما يكون الطابع الزمني للتطبيق غير متزامن مع الخادم.ليست صعبة للغاية، ولكنها ليست مهمة بسيطة.

بالمناسبة، بالنسبة إلى دلفي، يمكنك استخدام بعض المساعدة من طرف ثالث:

http://www.tmssoftware.com/site/wupdate.asp

محدث:

بالنسبة للتنفيذ الخاص بي:

سيتم تشغيل MyApp.EXE في 3 أوضاع مختلفة

  1. MyApp.EXE بدون أي وسيطة.سيؤدي هذا إلى بدء التطبيق عادةً.

    1.1 أول شيء يفعله هو التحقق من صحة وقت الملف الخاص به مع الخادم.

    1.2 إذا كان التحديث مطلوبًا، فسيتم تنزيل الملف المحدث إلى الملف المسمى "MyApp-YYYY-MM-DD-HH-MM-SS.exe"

    1.3 ثم يقوم باستدعاء "MyApp-YYYY-MM-DD-HH-MM-SS.exe" باستخدام وسيطة الأمر

    MyApp-YYYY-MM-DD-HH-MM-SS.exe  --update MyApp.EXE
    

    1.4 إنهاء هذا التطبيق.

    1.5 إذا لم يكن هناك تحديث مطلوب، فسيبدأ التطبيق بشكل طبيعي من 1.1

  2. MyApp.EXE - تحديث "اسم الملف".

    2.1 حاول نسخ نفسه إلى "FILENAME" كل 100 مللي ثانية حتى ينجح.

    2.2 استدعاء "FILENAME" عند نجاحه

    2.3 قم باستدعاء "FILNAME --delete MyApp-YYYY-MM-DD-HH-MM-SS.exe" لحذف نفسه.

    2.4 إنهاء

  3. MyApp.EXE - حذف "اسم الملف"

    3.1 حاول حذف الملف "FILENAME" كل 500 مللي ثانية حتى تنجح.

    3.2 إنهاء

لقد كنت أستخدم هذا المخطط بالفعل في طلبي لمدة 7 سنوات وهو يعمل بشكل جيد.قد يكون تصحيح الأخطاء مؤلمًا جدًا عندما تسوء الأمور نظرًا لأن الخطوات تتضمن العديد من العمليات.أقترح عليك إجراء الكثير من عمليات تسجيل التتبع للسماح باستكشاف الأخطاء وإصلاحها بشكل أسهل.

حظ سعيد

نصائح أخرى

لا، يجب أن تكون نقطة الدخول إلى تطبيقك عبارة عن تعليمات برمجية مُدارة.

وهذا من أ مشاركة مدونة بقلم بريان نويز، أحد المؤلفين الرئيسيين في ClickOnce ومؤلف كتاب نشر العميل الذكي باستخدام ClickOnce.

إذا كان تطبيقك قديمًا حقًا (أيVB6، MFC، ATL، وما إلى ذلك)، كما هو الحال في التعليمات البرمجية غير المُدارة القابلة للتنفيذ، فلا، لا يمكنك نشرها كملف قابل للتنفيذ من خلال ClickOnce.

يبدو أن الحل البديل المقبول هو ملف exe المُدار للتعليمات البرمجية الذي يقوم بتشغيل exe الرئيسي.

لست متأكدًا بنسبة 100% من إمكانية تحقيق ذلك بدون كعب الروتين، ولكن قد توفر هذه المقالة بعض الأفكار:

كيف:انقر مرة واحدة على النشر للتطبيق غير المُدار مع مكون COM في التجميع المُدار

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top