كيف يمكنني توزيع تطبيقات C# على أجهزة الكمبيوتر مع إصدار غير معروف من .NET؟

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

سؤال

لقد كتبت تطبيقًا صغيرًا أحتاج إلى توزيعه على أكثر من 700 جهاز كمبيوتر ، والمشكلة هي أن أجهزة الكمبيوتر يمكن أن تقوم بتشغيل أي إصدار من Windows (على الرغم من أنه على الأرجح XP أو أفضل) مع تثبيت أي إصدار من .NET Framework مع اتصالات الإنترنت كلها من OC3 للاتصال الهاتفي.

لقد فكرت في تجميع .NET مع طلبي ولكن مثبت .NET لا يقل عن 39 ميجابايت وسيستغرق ذلك حرفيًا ساعات لشخص مصاب بالاتصال الهاتفي.

فهل هناك طريقة يمكنني إما تجميع DLL المحددة التي يحتاجها التطبيق ، أو تحويل الأمر برمته إلى التعليمات البرمجية الأصلية؟

شكرا -مايك

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

المحلول

استخدم المثبت.

توفر Microsoft حلاً أساسيًا حتى تتمكن من التحقق من التبعيات (وتثبيتها إذا كانت مفقودة) للتأكد من أن الكمبيوتر الذي تقوم بنشره في تطبيقك لتلبية الحد الأدنى من متطلبات الإطار (والاعتماد) على تطبيقك.

إذا كنت بحاجة إلى شيء أكثر تعقيدًا ، يمكنك استخدام شيء مثل نظام تثبيت Nullsoft Scriptable, installaware, ، أو installshield.

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

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

نصائح أخرى

من الممكن القيام به ، ولكن ليس طريقة سهلة أو رخيصة.

على سبيل المثال ، انظرhttp://www.remotesoft.com/

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

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

إذا كنت لا تريد كتابته في الكود الأصلي ، فإن رهانك الآخر هو استخدام إصدار أقل من الإطار. سيكون اختراق السوق أكبر بكثير من 1.1 من القول 4.0.

من ويكيبيديا (وليس السلطة المطلقة ، ولكن عادة ما تكون موثوقة حول هذا النوع من الأشياء):

يتضمن Windows Vista الإصدار 3.0 من .NET Framework.

لذلك سيتضمن Windows 7 هذا أيضًا.

لذلك ، فإن عملاء XP الخاص بك فقط يجب أن تقلقهم.

اضطررت مؤخرًا إلى إعادة تثبيت Windows XP وبحلول الوقت الذي حصلت فيه على SP3 وجميع التصحيحات اللاحقة التي قمت بتثبيتها .NET 3.5 أيضًا. على الرغم من أنني كنت أقوم بتثبيت Visual Studio أيضًا ، لا يمكنني إعطائك ضمانًا بنسبة 100 ٪ بأن كل شخص سيحصل على الإصدار اللازم من .NET المثبت ، لكنه سيكون نسبة كبيرة ، لذلك قد تكون قلقًا بشكل لا مبرر له.

لا تستخدم .NET. إذا لم يكن لديك أي سيطرة على Enviornment ، فاحتاج إلى توزيع واسع ، ولا تريد أن تتطلب تنزيل 30 ميجابايت ، فأنت عالق إلى حد كبير باستخدام الكود الأصلي. أفضل رهان لك هو C ++.

بدلاً من ذلك ، كما اقترح آخرون ، يمكنك محاولة استخدام شيء مثل Remotesoft.

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