2008-09-15 11 views
8

हमारे पास सी # में लिखा गया एक WinForms एप्लिकेशन है जो एक पीडीएफ फ़ाइल लोड और प्रिंट करने के लिए एक्सएक्रोपीडीएफएलआईबी.एक्सएक्रोपीडीएफ घटक का उपयोग करता है। विंडोज एक्सपी में किसी भी समस्या के बिना काम कर रहा है। मैंने अपने विकास पर्यावरण को Vista 64 बिट में स्थानांतरित कर दिया है और अब एप्लिकेशन (Vista 64 पर) नहीं चलाएगा जब तक कि मैं एक्साएआरपीडीएफ घटक को हटा नहीं देता।एक्सएक्स्रोपीडीएफ - Vista64 क्लास पंजीकृत त्रुटि

: जब आवेदन चलाता है मैं निम्नलिखित त्रुटि मिलती है "System.Runtime.InteropServices.COMException: क्लास पंजीकृत नहीं (HRESULT से अपवाद: 0x80040154 (REGDB_E_CLASSNOTREG))।"

मुझे एडोब फ़ोरम पर सलाह दी गई है कि त्रुटि का कारण यह है कि उनके पास एक्सएक्रॉपीडीएफ ActiveX नियंत्रण का 64 बिट संस्करण नहीं है।

क्या इस समस्या के आसपास कुछ रास्ता है? उदाहरण के लिए मैं 32 बिट एक्टिवएक्स नियंत्रण को 64 बिट नियंत्रण में परिवर्तित कर सकता हूं?

उत्तर

14

आप एडोब के ActiveX नियंत्रण को 64 बिट में परिवर्तित नहीं कर सकते हैं, लेकिन आप प्लेटफ़ॉर्म लक्ष्य को x86 पर सेट करके 32 बिट मोड में चलाने के लिए अपने एप्लिकेशन को मजबूर कर सकते हैं।

दृश्य स्टूडियो के अपने संस्करण के लिए निर्देशों के लिए,, Issues When Using Microsoft Visual Studio 2005

+0

जवाब seaman.myopenid.com नीचे से एक ही है, लेकिन ActiveX नियंत्रण के साथ एक सा और अधिक विस्तार – daveywc

0

उपयोग DLL अलगाव की धारा 1.44 देख हर 32 बिट COM + अनुप्रयोग के साथ काम करता है। और देखें: http://support.microsoft.com/kb/281335

इस समाधान के साथ आप अपने 32 बिट COM + एप्लिकेशन को एक अलग 32 बिट प्रक्रिया में अलग कर सकते हैं।

64 बिट अनुप्रयोगों पर स्थापित खोज COM + वस्तुओं: HKLM \ Software \ क्लासेस, लेकिन 32 बिट अनुप्रयोगों HKLM \ Software \ WOW6432 \ क्लासेस का उपयोग

+0

करता है DLL अलगाव काम प्रदान करता है? मैं इंप्रेशन के तहत था कि आप अलगाव में केवल गैर-दृश्य घटक बना सकते हैं। यदि आप नियंत्रण बनाम तैनाती hastle/32bit मंदी के लिए कॉल की संख्या और प्रकृति के आधार पर यह एक बेहतर समाधान हो सकता है – rpetrich

6

नेट ढांचा 1.1 हमेशा 32 बिट सीपीयू लक्षित कर रहा है, जबकि .NET फ्रेमवर्क 2.0 और उपरोक्त प्रोसेसर के अनुसार 32 बिट्स या 64 बिट्स को लक्षित कर सकते हैं प्रोग्राम मैनिफेस्ट की आर्किटेक्चर प्रॉपर्टी विजुअल स्टूडियो आईडीई के 'प्लेटफार्म लक्ष्य' विकल्प द्वारा बदल दी गई है। डिफ़ॉल्ट विकल्प 'किसी भी सीपीयू' के साथ, आईएल कोड प्लेटफ़ॉर्म के अनुसार संकलित किया गया है, लेकिन निश्चित रूप से एक्सएक्स्रोपीडीएफ 32 बिट्स घटक को COM कॉल विफल रहता है यदि प्लेटफॉर्म 64 बिट्स है। केवल 32 बिट्स प्लेटफ़ॉर्म को लक्षित करने के लिए EXE को पुनर्निर्माण करें। यह Vista 64 बिट्स में WOW64 एमुलेटर के साथ ठीक काम करता है।

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