هل يجب أن أقلق بشأن إعادة توزيع وقت تشغيل .NET مع تطبيقي؟

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

  •  20-08-2019
  •  | 
  •  

سؤال

أرغب في تجنب إعادة توزيع وقت تشغيل .NET إن أمكن مع تطبيقي لأنه سيزيد من حجم التطبيق ووقت التنزيل ووقت التطوير ومن المحتمل أن يؤدي إلى العديد من أخطاء النشر المختلفة.هل تجبر Microsoft المستخدمين على تحديث وقت تشغيل .NET عبر تحديث Windows؟إذا لم يكن الأمر كذلك، ما هي بعض الخيارات لإعادة توزيع وقت تشغيل .NET؟هل قامت Microsoft بتسهيل إعادة توزيع وقت التشغيل باستخدام تطبيقات .NET؟وأيضًا، هل وقت تشغيل .NET مضمون ليكون متوافقًا مع الإصدارات السابقة؟

أنا فقط ألخص الإجابات هنا.يبدو أنه يجب أن يكون لدينا أداة تمهيد للتحقق على الأقل من وجود وقت تشغيل .NET.الخيار البديل هو حزم وقت التشغيل ونشره إذا لم يكن موجودًا.هناك خيارات متعددة للتعبئة ويوفر Visual Studio خيارًا لإنشاء مشروع التثبيت مع وقت التشغيل.هناك أيضًا خيارات تعبئة أخرى مثل InnoSetup وWIX وما إلى ذلك (لست متأكدًا من الخيار الأفضل والمجاني).يتطلب التثبيت في وقت التشغيل إعادة التشغيل ويجب أن يستأنف خيار التثبيت المحدد تثبيت التطبيق بعد إعادة التشغيل.

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

المحلول

وأيضا، <م> يجب تقلق بشأن ذلك. دون وقت التشغيل التطبيق الخاص بك في ظروف غامضة لا تعمل. يجب أن لا نفترض أن بعض إصدار محدد من وقت التشغيل غير مثبتة مسبقا.

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

نصائح أخرى

ومجرد تقديم مشروع برنامج Windows Installer. يجب أن يكون هذا كخيار في VS2005 وVS2008. وسوف نتأكد من عند تثبيت التطبيق الذي يحتوي النظام وقت التشغيل .NET و أي برنامج المطلوب آخر لهذه المسألة. وهذا إضافة إلى حزمة المثبت الخاص بك، وليس التطبيق الخاص بك. هذا هو عادة كيفية تثبيت التطبيقات الخاصة بك أو استخدام تركيب درع.

هنا هو دليل على .

نص بديل http://img154.imageshack.us/img154/2066/newprojectr بابوا نيو غينيا

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

وتحرير: نعم يجب إنشاء هذه الحزمة، فإنه يجعل حياتك أسهل كثيرا لهذا الشيء بالضبط. الطريقة التي كنت تفعل هذا في VS هو ملف> مشروع وحدد intstaller المشروع. سيقوم المعالج بإرشادك خلال الخيارات.

باستخدام أداة تمهيد من نوع ما، يمكنك التحقق من تثبيت .NET ثم تنزيله إذا لزم الأمر.

على سبيل المثال، مع مصنع ام اس اي bootstrapper (أنا لا أدافع عن MSI Factory، فهو برنامج قبيح.لكن برنامج التمهيد الذي يأتي معه يستحق وحده تكلفة الترخيص إذا كنت تقوم بتطوير برامج تجارية مثلنا) فهناك نصوص برمجية يمكنك تضمينها ببساطة لأداء هذه الوظيفة.نحن نستخدم WiX + the MSI Factory bootstrapper لتوزيع ملف EXE واحد مضغوط (30 ميجابايت) وملف EXE صغير "أداة التنزيل" بحجم 1 ميجابايت والذي يقوم بتنزيل MSI.يقوم كل من EXE بالتحقق من وجود .NET 2.0 ثم تنزيله إذا لزم الأمر.نقوم أيضًا بتوزيع MSI مستقل والذي يتحقق أيضًا من وجود .NET ويحظر التثبيت إذا لم يكن موجودًا.

في الأساس لديك ما يلي:

  • نظام التشغيل Windows XP - لا يأتي مع .NET.يحتاج العميل إلى تثبيته يدويًا (يظهر كمكون اختياري لـ Windows Update)
  • Vista - يأتي مع .NET 2.0 (لكن لا 1.1)
  • Server 2003 - يأتي مع .NET 1.1

تجاهل .NET 1.1، فقط تجاهله.لن يقوم مستخدمو نظام التشغيل Vista وما بعده بتثبيته إلا لدعم التطبيقات القديمة، أو إذا كانوا مطورين.

.NET 2.0 هو الإصدار الأكثر تثبيتًا، وقد وجدنا من قاعدة المستخدمين لدينا أن أقل من 10% من المستخدمين قد قاموا بتثبيت .NET 3.5.إذا كان تطبيقك يستهدف جمهورًا تقنيًا وغريب الأطوار، فأنا أقول إن حوالي 50% من الأشخاص سيحصلون على .NET 3.0.إذا كنت تستهدف سوقًا استهلاكية/تجزئة/غير تقنية، فمن المحتمل أن تقدر حوالي 30% باستخدام .NET 2.0 و10% باستخدام .NET 3.0 أو أعلى.

تعتمد الأرقام المذكورة أعلاه على عدد زيارات المتصفح إلى مواقعنا الإلكترونية، ومعظمها من الجمهور غير التقني.ربما تكون هذه هي أفضل طريقة للحصول على فكرة لسوقك.يقوم IE دائمًا بالإبلاغ عن إصدار .NET في سلسلة وكيل المستخدم، لذا قم بتقسيم مدونات الويب وابدأ في التحليل :)

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

بعض الأشياء التي يمكنك القيام بها:

  1. قم بتضمين اختبار لإصدار .NET على الجهاز المستهدف والخروج من التثبيت إذا لم يكن موجودًا هناك.
  2. أنشئ نسخة من التثبيت تتضمن وقت تشغيل .NET وستقوم بتثبيته إذا لزم الأمر.
  3. قم بإنشاء إصدار من التثبيت الذي سيقوم بتنزيل وقت تشغيل .NET وتثبيته إذا لزم الأمر.

إذا كنت أعرف أن جميع عملائي متصلون بالإنترنت، فسأفعل الخيار 3 لـ .NET بالإضافة إلى أي متطلبات أساسية أخرى مثل Crystal Reports أو SQL Express.لدي عمليات تثبيت حيث قمت بتضمينها ويبلغ حجم التثبيت أكثر من 100 ميجابايت.70 ميجابايت+ هو شرط أساسي.

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