سؤال

بشكل عام عندما أستخدم ClickOnce عندما أقوم بإنشاء برنامج VB.NET ولكن له بعض الجوانب السلبية.لم أستخدم أي شيء آخر أبدًا ، لذلك لست متأكدًا من خياراتي.

سلبيات ClickOnce:

  • يتكون من ملفات متعددة - يبدو توزيع ملف واحد أسهل من إدارة مجموعة من الملفات وبرنامج التنزيل لتنزيل تلك الملفات.
  • يجب عليك إنشائه مرة أخرى لعمليات تثبيت الأقراص المضغوطة (عندما لا يكون لدى المستخدم النهائي إنترنت)
  • لا ينتهي الأمر بالبرنامج في ملفات البرنامج - بل ينتهي به الأمر مخفيًا في بعض مجلدات التقاط التطبيقات، مما يجعل الاختصار إليه أكثر صعوبة.

إيجابيات النقر مرة واحدة:

  • إنها تعمل.بطريقة سحرية.وهي مدمجة في VisualStudio 2008 Express.
  • يجعل من السهل ترقية التطبيق.

هل يقوم Windows Installer بهذه الأشياء أيضًا؟أعلم أنه لا يحتوي على أي من سلبيات ClickOnce، ولكن سيكون من الجيد معرفة ما إذا كان لديه أيضًا إيجابيات ClickOnce.

تحديث:انتهى بي الأمر باستخدام Wix 2 (كان Wix 3 متاحًا ولكن في الوقت الذي قمت فيه بالمشروع، لم يكن لدى أحد برنامج تعليمي مختص).لقد كان لطيفًا لأنه دعم الأشياء الثلاثة التي كنت بحاجة إليها (في النهاية).اختصار اختياري لبدء التشغيل باستخدام Windows، وخيار بدء التشغيل عند الانتهاء من التثبيت، وثلاث فقرات من النص يعتقد مديري أنها ستمنع المستخدمين من النقر فوق الخيار الخاطئ.

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

المحلول

هل رأيت WiX حتى الآن؟

http://wix.sourceforge.net/

يقوم بإنشاء مثبتات Windows باستخدام ملف XML ويحتوي على مكتبات إضافية لاستخدامها إذا كنت تريد تحسين أدوات التثبيت وما شابه.سأعترف أن منحنى التعلم بالنسبة لي كان متوسطًا إلى مرتفعًا في بدء الأمور، ولكن بعد ذلك تمكنت من إنشاء أداة تثبيت ثانية دون أي متاعب.

وسوف يتعامل مع التحديثات والعناصر الأخرى إذا كنت ترغب في ذلك، ويمكنك تطبيق أذونات المجلد وما شابه ذلك على المثبتات.كما أنه يمنحك تحكمًا أكبر في المكان الذي تريد تثبيت الملفات فيه بالضبط، وهو متوافق مع جميع اصطلاحات مجلدات Windows القياسية، بحيث يمكنك تحديد "PROGRAM_DATA" أو أي شيء بهذا المعنى ويعرف المثبت كيفية وضعه في C:\Documents و الإعدادات\جميع المستخدمين\بيانات التطبيق أو C:\ProgramData اعتمادًا على ما إذا كنت تستخدم نظام التشغيل XP أو Vista.

تقول الشائعات أن Office 2007 وVisual Studio 2008 استخدما WiX لإنشاء برنامج التثبيت الخاص بهما، لكنني لم أتمكن من التحقق من ذلك في أي مكان.أعتقد أنه تم تطويره بواسطة بعض العاملين في Microsoft من الداخل.

نصائح أخرى

وأنا أتفق مع جوزيف، فإن تجربتي مع ClickOnce تعتبر رائعة بالنسبة للغالبية العظمى من المشاريع خاصة في بيئة الشركات حيث تجعل عملية الإنشاء والنشر والنشر سهلة.يعد تنفيذ "الترقية القسرية" لضمان حصول المستخدمين على أحدث إصدار عند التشغيل أسهل بكثير في ClickOnce، وهو السبب الرئيسي لاستخدامي له.

مشكلات تتعلق بـ ClickOnce:في بيئة الشركة، تواجه مشكلات مع الخوادم الوكيلة وتكون الحلول البديلة أقل من مثالية.لقد اضطررت إلى نشر بعض التطبيقات في تلك الحالات من مسارات UNC... لكن لا يمكنك فعل ذلك طوال الوقت.يعد "وضع الحماية" الخاص به رائعًا، حتى تريد العثور على الملف القابل للتنفيذ أو إنشاء اختصار على سطح المكتب.

لم يتم نشرها خارج عام 2008 حتى الآن، لذا لست متأكدًا مما إذا كانت هذه المشكلات لا تزال موجودة.

يعد إنشاء مشروع تثبيت، يعتمد على ملف EXE الخاص بك (والذي يعتمد بدوره على كل ما يحتاجه) عملية واضحة إلى حد ما - ولكنك ستحتاج على الأقل إلى VS Standard Edition لذلك.

داخل مشروع التثبيت، يمكنك إنشاء مهام مخصصة وخطوات حوار تتيح لك القيام بأي شيء تقوم ببرمجته.

ما هو مفقود هو سحر الترقية التلقائية والتحقق من الإصدار الذي تحصل عليه مع ClickOnce.لا يزال بإمكانك بناءه، فهو ليس تلقائيًا.

لا أعتقد أن هناك أي طريقة سهلة لجعل مشروع Windows Installer يتمتع بسهولة أو إمكانية ترقية ClickOnce.أستخدم ClickOnce لجميع تطبيقات .NET الداخلية التي أقوم بتطويرها (باستثناء تطبيقات وحدة التحكم).أجد أنه في بيئة المؤسسة، فإن سهولة النشر تفوق الافتقار إلى المرونة.

يمكن أن يكون ClickOnce مشكلة إذا كان لديك مكونات خارجية تحتاج إلى تثبيتها مع منتجك.يمكنك تجنب ذلك إلى حد ما عن طريق إنشاء مثبتات للمكونات، ولكن مع نشر ClickOnce، يتعين عليك إنشاء المنطق لتحديث مثبتات المكونات المذكورة.

لقد استخدمت Wise For Windows Installer في حياتي السابقة لإنشاء حزم التثبيت.على الرغم من أن إنشاء الترقيات باستخدامه لم يكن تلقائيًا مثل ClickOnce، إلا أنه كان أكثر دقة وأقل إزعاجًا عندما يتعلق الأمر بالمكونات الأخرى التي تحتاج إلى تسجيل/إضافة.

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