मैं एक सी ++ प्रोग्राम विकसित करता हूं जो एडोब फ्लैश का उपयोग कर सकता है, हालांकि यह आवश्यक नहीं है।
मैं फ्लैश ऑब्जेक्ट बनाने के लिए CoCreateInstance का उपयोग करता हूं, और यदि यह विफल रहता है, तो मुझे पता है कि फ़्लैश स्थापित नहीं है इसलिए मैं इसका उपयोग नहीं करता हूं।
हालांकि, Vista में (और मुझे विंडोज 7 भी लगता है), जब फ्लैश स्थापित नहीं होता है, तो एप्लिकेशन छोड़ने के बाद, "प्रोग्राम संगतता सहायक" एक संदेश को पॉप करता है जिसमें कहा गया है कि "इस प्रोग्राम को एक अनुपलब्ध विंडोज घटक की आवश्यकता है" निर्दिष्ट करना flash.ocx।
क्या इस संदेश को प्रदर्शित होने से रोकने का कोई तरीका है? मैं किसी भी उपयोगकर्ता को फ़्लैश स्थापित करने के लिए मजबूर नहीं करना चाहता (विशेष रूप से क्योंकि यह आईई एक्टिवैक्स है, और फ़ायरफ़ॉक्स उपयोगकर्ता इसे इंस्टॉल नहीं कर सकते हैं), और मेरा एप्लिकेशन फ्लैश के बिना अच्छी तरह से काम कर सकता है।
प्लस यह संदेश वास्तव में परेशान है जब यह हर रन के बाद दिखाई देता है।
मेरा मतलब यह नहीं है कि उपयोगकर्ता की मशीन पर पीसीए को अक्षम कर दिया जाए, लेकिन सभी मशीनों पर प्रोग्रामेटिक रूप से इस विशिष्ट उपस्थिति को अक्षम कर दें।मैं विस्टा (और विंडोज 7) में "प्रोग्राम संगतता सहायक" प्रोग्रामेटिक रूप से प्रदर्शित होने से कैसे रोकूं?
कोई विचार?
धन्यवाद
[संपादित करें:]
मैं शे के नेतृत्व (धन्यवाद) पीछा किया, और मेरे अपने के कुछ और खुदाई किया था।
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false">
</requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
(यह भी देखें:: msdn.microsoft.com/en-us/library/bb756929.aspx) मैं एप्लिकेशन की मेनिफेस्ट के लिए निम्न एक्सएमएल जोड़ा
यह विंडोज 7 पर एक ही समस्या को हल करने
विस्टा 64 पर समस्या हल हो, मैं निम्नलिखित जोड़ा :
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
(यह भी देखें: blogs.msdn.com/yvesdolc/archive/2009/09/22/the-new-compatibility-section-in-the-application-manifest.aspx)
हल विंडोज 7
लेकिन किसी कारण से, यह अभी भी विस्टा 32 में होता है ...
मैं भी संपादन विशिष्ट DLL जो समस्या का कारण बनता है के प्रकट करने की कोशिश की है, लेकिन यह कोई प्रभाव नहीं पड़ा। केवल निष्पादन योग्य के प्रकट होने से ही समस्या प्रभावित हुई।
तो ... Vista 32?
त्वरित उत्तर के लिए धन्यवाद। मैंने आपके नेतृत्व का पालन किया, लेकिन समस्या पूरी तरह से हल नहीं हुई। उपरोक्त संपादित प्रश्न देखें। – Asaf