9

मैं अधिक माइक्रोसॉफ्ट "विकसित" विजुअल स्टूडियो की कसम खाता हूं, पूरी प्रक्रिया पूरी तरह से अज्ञानी हो जाती है।BadImageFormatException x64 अंक

मेरे पास 3 कक्षा पुस्तकालयों के साथ एक विंडोज सेवा है। मैं प्रत्येक वर्ग पुस्तकालय के गुणों में गया और प्लेटफार्म लक्ष्य को x64 पर सेट किया। मैंने विंडोज सर्विस के साथ-साथ टेस्ट कंसोल प्रोजेक्ट में भी यही सब कुछ किया जो मैंने सबकुछ सत्यापित करने के लिए जोड़ा था।

मैं बिना किसी समस्या के अपने विंडोज 2008 आर 2 एक्स 64 सर्वर पर कंसोल एप्लिकेशन चला सकता हूं लेकिन बेवकूफ इंस्टॉलर बमबारी करता रहता है और मुझे बताता है कि मेरे पास एक खराब छवि है। मैंने यह सुनिश्चित किया कि मैंने इंस्टॉलर का लक्ष्य प्लेटफ़ॉर्म x64 पर सेट किया है।

मुझे नहीं पता कि यह बेवकूफ बात बमबारी होगी और वास्तव में किसी भी अंतर्दृष्टि की सराहना करेगी। मैं अन्य डीएलएल का संदर्भ देता हूं और वे x86 हो सकते हैं, लेकिन मैंने सोचा कि क्या मुख्य पुस्तकालय ठीक से सेट किए गए थे ...

+4

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

+1

किसी की तरह लगता है कि एक आर्किटेक्चर मेल नहीं है ... –

+0

चूंकि मैं शुरुआती 9 0 के दशक से एमएस तकनीक के साथ काम कर रहा हूं, मुझे लगता है कि मैं समग्र उपयोगिता में तेजी से गिरावट के लिए प्रमाणित हूं। –

उत्तर

20

मुझे अंततः यह पता चला है - इसमें आर्किटेक्चर, संदर्भ या किसी अन्य के साथ कुछ भी नहीं है बकवास और इंस्टॉलर के साथ सब कुछ करने के लिए। जैसा कि इस आलेख में बताया गया है - http://blogs.msdn.com/b/heaths/archive/2006/02/01/64-bit-managed-custom-actions-with-visual-studio.aspx - डिफ़ॉल्ट रूप से विजुअल स्टूडियो इंस्टॉलर 32 बिट डीएलएल का उपयोग करता है और यही कारण है कि असफलताओं का कारण बनता है।

इस समस्या को दूर करने के लिए, बस इन चरणों का पालन करें:

  1. सुनिश्चित करें कि आप गुण में जाने => प्रत्येक परियोजना के लिए टैब बनाएँ और सेट लक्ष्य मंच x64 करने के नाम पर
  2. क्लिक करें आपकी स्थापना प्रोजेक्ट और फिर गुण और यह सुनिश्चित करें कि लक्ष्य प्लेटफ़ॉर्म x64
  3. अपना समाधान बनाएं - यदि समाधान संकलित नहीं होता है, तो राइट क्लिक करें और प्रोजेक्ट अनलोड करें और फिर उन परियोजनाओं के लिए लोड पोरजेक्ट लोड करें जिनके संदर्भ विफल हो जाते हैं।
  4. http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3138 और डाउनलोड और स्थापित करने के लिए जाओ 7.0 इंस्टालर एसडीके
  5. सी में जाकर: \ Program Files (x86) \ माइक्रोसॉफ्ट SDKs \ Windows \ v7.0A \ बिन फ़ोल्डर और ओर्का पर डबल क्लिक करके ओर्का स्थापित .msi फ़ाइल
  6. भागो ओर्का और खोलने के अपने प्रोजेक्ट की MSI फ़ोल्डर
  7. बायनेरी तालिका का चयन करें
  8. डबल रिकार्ड के लिए सेल [बाइनरी डेटा] InstallUtil
  9. "फ़ाइल नाम से बाइनरी पढ़ें" सुनिश्चित करें
  10. चयन किया जाता है पर क्लिक करें
  11. ब्राउज़ बट पर क्लिक करें सी के लिए ब्राउज़ पर: - अपने MSI फ़ाइल को सहेजने \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
  12. करें InstallUtilLib.dll
  13. खोलें बटन और फिर ठीक बटन

है कि यह क्लिक करें ओर्का में और फिर इसे तैनात करें - x64 स्थापना बिना किसी और मुद्दे के काम करना चाहिए।

+6

वैसे, एमएस बच्चों के नीचे वोटों के लिए धन्यवाद - यह अन्य एमएस मुद्दों के साथ एक वैध मुद्दा है और तथ्य यह है कि आप विश्वसनीय आलोचना नहीं खड़े कर सकते हैं आपके बारे में वॉल्यूम बोलते हैं। –

+2

धन्यवाद केन, आखिरकार एक कामकाजी समाधान। मेरा एक सवाल है। क्या पोस्ट पोस्ट इवेंट के रूप में इसे स्वचालित रूप से करना संभव होगा? मैन्युअल रूप से दर्जनों ऑनफ इंस्टॉलर्स के लिए यह सब कुछ समय लेने वाला है ... – KenGey

+0

[ओर्का 5.0.7693.0 (2.1 एमबी)] (http://goo.gl/EOCZi) पूरे एसडीके के बिना [ओर्का 5 - एमएसआई संपादन उपकरण विंडोज 7] (http://myserverissick.com/2011/04/orca-5-msi-editing-tool/) –