2008-11-05 12 views
7

हमने विजुअल 2005 में हमारे विजुअल सी ++ 2003 समाधान को स्थानांतरित कर दिया और अब हमें XP मशीनों को साफ करने के लिए तैनाती में समस्याएं हैं।एप्लिकेशन शुरू करने में विफल रहा है ... एप्लिकेशन कॉन्फ़िगरेशन गलत है - वीसी ++ 2005 रनटाइम समस्या

हमारे समाधान में एक डीएलएल प्रोजेक्ट है और एक कमांड लाइन निष्पादन योग्य है जो इस डीएलएल का उपयोग करता है। दोनों परियोजनाएं प्रकट फ़ाइलों को बना और एम्बेड करती हैं।

हमारा इंस्टॉलर सी: \ प्रोग्राम \ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \ वीसी \ रेडिस्ट \ x86 \ Microsoft.VC80.CRT \ स्थापित डीआईआर से वीसी 8 सीआरटी रनटाइम्स की प्रतिलिपि बनाता है।

जब हम एक स्वच्छ विंडोज एक्सपी पर स्थापित करते हैं, तो हमें त्रुटि संदेश दिखाई देता है "एप्लिकेशन प्रारंभ करने में विफल रहा है ... एप्लिकेशन कॉन्फ़िगरेशन गलत है।"

Depends.exe में exe लाना, कहते हैं:

Error: The Side-by-Side configuration information for "c:\program files\MySoftware\vc8\BENCHMARK.EXE" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001). 
Error: The Side-by-Side configuration information for "c:\program files\MySoftware\vc8\MYLIB-VC8.DLL" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001). 
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module. 

इवेंट व्यूअर लॉग्स:

Dependent Assembly Microsoft.VC80.CRT could not be found and Last Error was The referenced assembly is not installed on your system. 

Resolve Partial Assembly failed for Microsoft.VC80.CRT. Reference error message: The referenced assembly is not installed on your system. 

Generate Activation Context failed for C:\Program Files\MySoftware\vc8\Benchmark.exe. Reference error message: The operation completed successfully. 

मैं msvcp80.dll, msvcr80.dll, msvcm80.dll को कॉपी पढ़ चुके हैं और माइक्रोसॉफ्ट.VC80.CRT.manifest अनुप्रयोग फ़ोल्डर के लिए पर्याप्त है।

मैं क्या गलत कर रहा हूं?

उत्तर

5

सीआरटी डीएलएस की प्रतिलिपि बनाने की सिफारिश नहीं की जाती है। जैसा कि विनय कहते हैं कि आपको सही मर्ज मॉड्यूल का उपयोग करना चाहिए।

तुम भी यदि मर्ज मॉड्यूल अपने संस्थापक प्रौद्योगिकी के साथ काम नहीं करते exe के स्थापित Redist उपयोग कर सकते हैं:

अंतिम उपाय के रूप में पूरे 'कॉपी करके देखें Microsoft.VC80.CRT 'निर्देशिका आपके प्रोग्राम exe निर्देशिका (सामग्री, वास्तविक निर्देशिका नहीं) के लिए।

2

इंस्टॉलर में विजुअल स्टूडियो 2005 मर्ज मॉड्यूल का चयन करें। यह तब भी हो सकता है जब आपने विजुअल स्टूडियो का उपयोग करके exe/dll बनाया है जिसमें सर्विस पैक स्थापित है।

+0

मुझे लगता है कि यह एक विकल्प नहीं है क्योंकि हम अपने इंस्टॉलर के लिए इनोसेटअप का उपयोग करते हैं। –

2

मुझे यह समस्या भी थी। मैं माइक्रोसॉफ्ट में यह करने के लिए मुझे डर था।
(मैंने एक विशेष परियोजना बनाने के लिए वीसी 6 का उपयोग किया और फिर जब मैंने निर्माण मशीन पर 2003 और 2005 को भी स्थापित किया, तो मेरे वीसी 6 बिल्ड को समस्याएं आईं। (मैं प्रिस्टिन मशीन पर इंस्टॉल की जांच नहीं कर रहा था) स्पष्ट रूप से लिंकर/कंपाइलर था यह नहीं पता कि यह मेरे वितरण के साथ समस्याएं पैदा कर रहा था। इसके बाद मुझे अपने 120k exe ऐप में एक बड़ी रेडिस्ट इंस्टॉल फ़ाइल जोड़नी पड़ी। Freakin 'microsoft।

एमएस ने इसे अतीत में कुछ बार खराब कर दिया है।

http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en

4

आप वास्तव में माइक्रोसॉफ्ट के VC80 सी रन समय लाइब्रेरी जरूरत नहीं है। यह एक गड़बड़ है।

इसके बजाय, अपने प्रोग्राम को/एमटी विकल्प के साथ रिलिक करें, जो सी रन-टाइम लाइब्रेरी (libcmt.lib) या C++ मानक लाइब्रेरी को स्थिर करता है।परियोजना के गुण के माध्यम से इस सेट करने के

C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT) 

में जाते हैं तो यह संकलन नहीं है, आप के रूप में अच्छी (/ NODEFAULTLIB :) इस विकल्प को जोड़ना चाहते हैं

Linker -> Input -> Ignore Specific Library: msvcrt.lib 

देखें से लिंक विकल्प http://msdn.microsoft.com/en-us/library/abx4dbyh(VS.80).aspx

संबंधित मुद्दे