سؤال

بعد تجميع مشروع C++ بسيط باستخدام Visual Studio 2008 على نظام التشغيل Vista، كل شيء يعمل بشكل جيد على جهاز Vista الأصلي وأجهزة كمبيوتر Vista الأخرى.ومع ذلك، يؤدي نقله إلى مربع XP إلى ظهور رسالة خطأ:"فشل بدء تشغيل التطبيق لأن تكوين التطبيق غير صحيح".

ما الذي يجب علي فعله حتى يعمل ملف EXE المترجم على نظامي XP وVista؟لقد واجهت نفس المشكلة منذ بضعة أشهر، وقد أدى العبث ببعض الإعدادات في المشروع إلى إصلاحها، لكنني لا أتذكر الإعدادات التي قمت بتغييرها.

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

المحلول

تحتاج إلى تثبيت وقت تشغيل Visual Studios 2008 على الكمبيوتر الهدف:

http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

وبدلاً من ذلك، يمكنك أيضًا ربط وقت التشغيل بشكل ثابت، في نافذة خصائص المشروع، انتقل إلى:

C ++ -> توليد الكود -> مكتبة وقت التشغيل وحدد "متعدد الخيوط /MT"

نصائح أخرى

تحتاج إلى تثبيت الملفات القابلة لإعادة التوزيع في وقت التشغيل على الجهاز الذي تحاول تشغيل التطبيق عليه.

القابلة لإعادة التوزيع لعام 2008 هي هنا.

القابلة لإعادة التوزيع لعام 2005 هي هنا.

يمكن تركيبهما جنبًا إلى جنب، في حالة احتياجك لكليهما.

ربما تحتاج إلى توزيع وقت تشغيل VC مع تطبيقك.هناك مجموعة متنوعة من الطرق للقيام بذلك. هذا المقال من فريق Microsoft Visual C++ يشرح بشكل أفضل الطرق المختلفة لتوزيع هذه التبعيات إذا كنت تستخدم Visual Studio 2005 أو 2008.

كما هو مذكور في المقالة، على الرغم من أنه يمكنك تنزيل حزمة التثبيت القابلة لإعادة التوزيع وتشغيلها ببساطة على جهاز العميل، إلا أن هذا ليس هو الخيار الأمثل دائمًا.عادةً ما تكون هناك طرق أفضل لتضمين ملفات DLL المطلوبة مثل تضمين وحدة الدمج إذا كنت تقوم بالتوزيع عبر إعداد Windows أو نسخة App-Local إذا كنت تريد فقط توزيع مجلد مضغوط.

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

إنه أبسط بكثير الارتباط بوقت التشغيل بشكل ثابت.

c++ -> إنشاء التعليمات البرمجية -> مكتبة وقت التشغيل وحدد "/MT متعدد الخيوط"

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

مشروع جديد -> "الإعداد والنشر" -> "مشروع الإعداد"

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

يحتوي Visual Studio 2005 بالفعل على اثنين

الواحد ل الإصدار الأصلي

والواحد لحزمة الخدمة SP1

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