windows - एप्लिकेशन सही ढंग से शुरू करने में असमर्थ था(0xc000007b)




delphi 64bit (10)

मेरे पास एक क्लाइंट / सर्वर ऐप है जिसे मैं एक पीसी पर विकसित कर रहा हूं। अब इसे दो धारावाहिक बंदरगाहों की जरूरत है, इसलिए मैंने एक दोस्त से एक पीसी उधार लिया।

जब मैं अपना ऐप बनाता हूं और इसे चलाने या डिबग करने का प्रयास करता हूं (चाहे डेल्फी आईडीई या विंडोज फाइल मैनेजर से), तो यह त्रुटियां "एप्लिकेशन सही ढंग से शुरू करने में असमर्थ था (0xc000007b)"।

गुगलिंग बहुत अधिक नहीं लाती है, लेकिन ऐसा लगता है कि यह डेल्फी विशिष्ट नहीं है और अन्य ऐप्स के साथ होता है। ऐसा लगता है कि 64 बिट ऐप से इसके विपरीत 32 बिट डीएलएल में कॉल किया जा रहा है या इसके विपरीत।

  • दोनों पीसी विंडोज 7, 64 बिट हैं
  • दोनों में डेल्फी Xe2 स्टार्टर संस्करण है जो केवल 32 बिट्स को संभाल सकता है
  • ऐप मेरे पीसी पर ठीक है, लेकिन मेरे दोस्त पर नहीं
  • अन्य डेल्फी ऐप्स दोनों पीसी पर बस ठीक है

क्या कोई मुझे इस बारे में संकेत दे सकता है कि इसे कैसे ट्रैक किया जाए?


ऐसा तब हो सकता है जब किसी कारण से x86 मशीन x86 मशीन से लोड हो। स्पष्ट रूप से इससे बचने के लिए, इस प्रीप्रोसेसर निर्देश को stdafx.h में जोड़ें (बेशक, मेरे उदाहरण में समस्याग्रस्त संसाधन विंडोज सामान्य नियंत्रण डीएलएल है।

#if defined(_WIN64)
#pragma comment(linker, "\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df'\"")
#endif

पहले के उत्तरों में इसका उल्लेख किया गया है कि निर्भरता वॉकर का उपयोग करने का तरीका है, मेरे मामले में (मेरा आवेदन त्रुटि कोड में विफल रहता है), निर्भरता वॉकर ने कुछ डीएल दिखाए जो प्रासंगिक नहीं हैं!

आखिर में पता चला कि मैं "प्रोफाइल" मेनू पर जाकर प्रोफाइलिंग चला सकता हूं और यह एप्लिकेशन चलाएगा और सटीक डीएल पर रुक जाएगा जो समस्या का कारण बनता है! मैंने पाया कि 32 बिट डीएल को पथ के कारण चुना गया था और इसे ठीक किया गया था।


मुझे माइक्रोसॉफ्ट विजुअल स्टूडियो 2012 का उपयोग कर क्लाइंट-सर्वर एप विकसित करने में एक ही समस्या का अनुभव हुआ।

यदि आपने ऐप को विकसित करने के लिए विजुअल स्टूडियो का उपयोग किया है, तो आपको यह सुनिश्चित करना होगा कि नया (यानी कंप्यूटर जिसे सॉफ़्टवेयर विकसित नहीं किया गया था) में उचित माइक्रोसॉफ्ट विजुअल सी ++ पुनर्वितरण योग्य पैकेज है। उचित रूप से, आपको विज़ुअल सी ++ पुनर्वितरण योग्य पैकेज के सही वर्ष और बिट संस्करण (यानि 32 बिट के लिए x86 और 64 बिट के लिए x64) की आवश्यकता है।

विजुअल सी ++ पुनर्वितरण योग्य पैकेज विजुअल स्टूडियो का उपयोग करके बनाए गए सी ++ अनुप्रयोगों को चलाने के लिए आवश्यक रन-टाइम घटक स्थापित करते हैं।

विजुअल स्टूडियो 2015 के लिए विजुअल सी ++ पुनर्वितरण योग्य का एक लिंक यहां दिया गया है।

आप नियंत्रण कक्ष -> प्रोग्राम्स -> प्रोग्राम्स और फीचर्स पर जाकर कौन से संस्करण स्थापित कर सकते हैं।

यहां बताया गया है कि मुझे यह त्रुटि कैसे मिली और इसे ठीक किया गया:

1) मैंने अपने कंप्यूटर पर विजुअल स्टूडियो 2012 का उपयोग करके 32 बिट एप्लिकेशन विकसित किया। आइए अपने कंप्यूटर ComputerA को कॉल करें।

2) मैंने एक अलग कंप्यूटर पर .exe और संबंधित फ़ाइलों को स्थापित किया है जिसे हम कंप्यूटरबी कहते हैं।

3) कंप्यूटरबी पर, मैंने .exe भाग लिया और त्रुटि संदेश मिला।

4) कंप्यूटरबी पर, मैंने कार्यक्रमों और विशेषताओं को देखा और दृश्य सी ++ 2012 पुनर्वितरण योग्य (x64) नहीं देखा।

5) कंप्यूटरबी पर, मैंने विज़ुअल सी ++ 2012 पुनर्वितरण योग्य के लिए googled और चयनित और x64 संस्करण स्थापित किया।

6) कंप्यूटरबी पर, मैंने कंप्यूटरबी पर .exe चलाया और त्रुटि संदेश प्राप्त नहीं किया।


मुझे हाल ही में एक मुद्दा था जहां मैं एक एप्लीकेशन विकसित कर रहा था (जो एक सीरियल पोर्ट का इस्तेमाल करता था) और यह उन सभी मशीनों पर काम करता था जिन पर मैंने परीक्षण किया था लेकिन कुछ लोगों को यह त्रुटि मिल रही थी।

यह उन सभी मशीनों को दिखाता है जो त्रुटि हुईं Win7 x64 चल रही थीं और कभी भी अपडेट नहीं हुई थीं।

विंडोज अपडेट चलाने से मेरे विशेष मामले में सभी मशीनें ठीक हो गईं।


मैं बस इस मुद्दे में भाग गया। मैंने विंडोज 10 कंट्रोल पैनल में अपने "एप्स एंड फीचर्स" के तहत "सी ++" की खोज की और ध्यान दिया कि कुछ प्रकार के अपडेट सिर्फ कुछ दिन पहले चलाए गए थे और वीसी ++ पुनर्वितरण योग्य 2012-2017 स्थापित किया था। त्रुटि संदेश में चल रहे ऐप को केवल वीसी ++ 2010 की आवश्यकता थी। मैंने उन सभी को अनइंस्टॉल किया और फिर केवल 2010 x86 / x64 को पुनर्स्थापित किया, और त्रुटि दूर हो गई और एप्लिकेशन अपेक्षित के रूप में कार्य करता था।


मैंने एक मशीन पर वीसी ++ डीबग निष्पादन योग्य चलाने की कोशिश में त्रुटि देखी है जिसमें Visual C ++ स्थापित नहीं है। रिलीज संस्करण बनाना और इसे ठीक करना।


यह एक ऐसा मामला हो सकता है जहां डीबगर डीबगिंग उपयोगी हो। अनिवार्य रूप से यदि आप यहां निर्देशों का पालन ​​करते हैं तो आप दो विचारों को चला सकते हैं और एक दूसरे में डीबग कर देगा। यदि आप एक में अपने आवेदन को अनसुलझा करते हैं, तो आप कभी-कभी उन त्रुटियों को पकड़ सकते हैं जिन्हें आप अन्यथा याद करते हैं। यह आजमाने के काबिल है।


यह एक लापता डीएल है। संभवतः, कॉम पोर्ट्स के साथ काम करने वाले आपके डीएलएल में एक अनसुलझा डीएल निर्भरता है। आप निर्भरता वॉकर और विंडोज डीबगर का उपयोग कर सकते हैं। उदाहरण के लिए, सभी एमएफसी पुस्तकालय की जांच करें। इसके अलावा, आप nrCommlib का उपयोग कर सकते हैं - कॉम पोर्ट्स के साथ काम करने के लिए यह बहुत अच्छा घटक है।


वास्तव में यह त्रुटि एक अवैध छवि प्रारूप को इंगित करती है। हालांकि, यह क्यों हो रहा है और त्रुटि कोड का क्या अर्थ है? दरअसल यह तब दिखाई दे सकता है जब आप 64 बिट विंडोज ऑपरेटिंग सिस्टम के साथ काम करने के लिए किए गए प्रोग्राम को चलाने की कोशिश कर रहे हैं, लेकिन आपका कंप्यूटर 32 बिट ऑपरेटिंग सिस्टम पर चल रहा है।

संभावित कारण:

  • माइक्रोसॉफ्ट विजुअल सी ++
  • पुनरारंभ करने की आवश्यकता है
  • DirectX
  • ।शुद्ध रूपरेखा
  • पुनः स्थापित करने की आवश्यकता है
  • व्यवस्थापक को व्यवस्थापक के रूप में चलाने की आवश्यकता है

स्रोत: http://www.solveinweb.com/solved-the-application-was-unable-to-start-correctly-0xc000007b-click-ok-to-close-the-application/


शुरू करने के लिए, मैं यह जांचने का सुझाव दूंगा कि निर्भरता वॉकर का उपयोग करके आपके आवेदन और इसकी निर्भरताओं के बीच कोई समस्या है या नहीं





64bit