سؤال

لقد أنشأت مشروع إعداد في VS2008. يستخدم تطبيق WinForms الخاص بي .NET 2.0 ، لذلك اخترت .NET 2.0 PREREECISITY وقمت ببناء مشروع الإعداد.

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

عندما أقوم بتشغيل ملف MSI على جهاز كمبيوتر مع .NET مثبت بالفعل ، يتم تثبيت تطبيقي بشكل صحيح.

هل هناك أي طريقة لتثبيت .NET 2.0 وتططيحي معًا في خطوة واحدة؟

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

المحلول

كيف قمت بتثبيت المنتج؟

سيقوم مشروع الإعداد بإخراج ملفين:

  • حزمة تثبيت Windows (.MSI) ، و
  • ما يسمى bootstrapper (setup.exe)

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

كما يقول Krakkos ، سوف يقوم Bootstrapper بتثبيت كل من المتطلبات المسبقة والتطبيق الخاص بك (أي ملف .MSI). ومع ذلك ، لست على دراية بأي إعدادات تكوين من شأنها أن تمنع bootstrapper من تثبيت MSI.

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

نصائح أخرى

شكرا Divo ،

كنت أقوم بتشغيل ملف MSI.

هل هناك أي قيود عند تشغيل ملف setup.exe؟ إذا كنت أتذكر بشكل صحيح ، فقد حاولت تشغيله مرة واحدة على Windows 2000 ولم يتم تشغيله. تمكنت من تشغيل ملف MSI فقط. سأقوم بالتحقق من جهاز كمبيوتر مع Win2000 نظيفة وأعود.

تحرير: لقد جربته على Clean Windows 2000 SP4 وهنا النتائج:

  • لن يتم تشغيل setup.exe مع رسالة حول مفقود الكعك في kernel32.dll
  • SETUP.MSI لن يتم تشغيل ASO (امتداد .MSI غير معروف)

ثم قمت بتثبيت Windows Installer 3.1:

  • SETUP.EXE لا يزال لا يتم تشغيله مع نفس رسالة الخطأ
  • سيتم تشغيل SETUP.MSI ناجحًا (ولكن سيتم تثبيت فقط .NET بدون تطبيقي ... مشكلتي الأولية)

على Windows XP ، يعمل Setup.exe دون أي مشاكل.

يبدو أن المستخدمين الذين يعانون من Win2000 سيتعين عليهم تثبيت تطبيقي يدويًا عن طريق تثبيت Windows Installer 3.1 و .NET 2.0 ثم تطبيقي. حتى عند تثبيت .NET يدويًا ، سيظل Setup.exe يعرض نفس رسالة الخطأ تحت Win2000 SP4.

تحرير: يمكن إصلاح إصدار WIN 2000 عن طريق تثبيت تحديث Rollup 1 لنظام التشغيل Windows 2000 SP4 (KB891861).

هذه الحلقة من HanselMinutes يذهب إلى تفاصيل رائعة حول كيفية ترتيب Paint.net لتنزيل وتثبيت .NET Framework عند الطلب ، والتكامل مع تثبيت التطبيق. من المسلم به أن هذا ربما يكون أكثر تعقيدًا تتطلبه معظم التطبيقات ، ولكنه مناقشة مثيرة للاهتمام.

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