2008-10-20 17 views
11

यदि संकलित लाइब्रेरी से C++ रनटाइम msvcr80.dll गुम है, तो यह निर्धारित करने का कोई तरीका है कि लाइब्रेरी बनाने के लिए कौन सा संस्करण इस्तेमाल किया गया था या इसे msvcr80.dll के बाद के संस्करण पर चलाने के लिए उपयोग किया गया था?गुम msvcr80.dll

उत्तर

13

वीसी 80 एसपी 1 सीआरटी पुनर्वितरण योग्य पैकेज सी रनटाइम के आरटीएम और एसपी 1 संस्करणों को %SystemRoot%\WinSxS में स्थापित करेगा (मान लें कि आप विंडोज एक्सपी या विस्टा का उपयोग कर रहे हैं; विंडोज 2000 साइड-बाय-साइड असेंबली का समर्थन नहीं करता है)। यदि आपके पास वीसी 8 स्थापित है, तो सीआरटी पुनर्वितरण योग्य पैकेज %ProgramFiles%\Microsoft Visual Studio 8\VC\redist में है। यदि आपके पास वीसी 8 स्थापित नहीं है, तो मुझे लगता है कि आप Microsoft.com से सीआरटी पुनर्वितरण योग्य पैकेज डाउनलोड कर सकते हैं। की तरह कुछ के लिए

mt.exe -inputresource:mydll.dll;#1 -out:mydll.dll.manifest 

देखो:

इसके अलावा, पता लगाने के लिए वास्तव में क्या सीआरटी संस्करण (जैसे आरटीएम बनाम SP1) एक द्विआधारी कि VC8 या VC9 साथ बनाया गया था की जरूरत है, तो आप प्रकट निकाल सकते हैं यह:

<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"> 
</assemblyIdentity> 

मेरे निष्पादन योग्य को सीआरटी संस्करण 9.0.21022.8 की आवश्यकता है। इस संस्करण की संख्या भी WinSxS उपनिर्देशिका नाम (दुर्भाग्य से यह हैश से घिरा हुआ है) में अंतर्निहित है:

D:>dir c:\windows\WinSxS\*VC90.CRT* 
12/14/2007 02:16 AM <DIR>   amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_750b37ff97f4f68b 
12/14/2007 02:00 AM <DIR>   x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91 
+2

Mt.exe एक उपकरण है जो मैनिफ़ेस्ट का मूल्यांकन करने के लिए माइक्रोसॉफ्ट एसडीके/विजुअल स्टूडियो पैकेज में प्रदान किया गया है। Mt.exe पर अधिक जानकारी एमएसडीएन दस्तावेज पृष्ठ पर पाई जा सकती है: http://msdn.microsoft.com/en-us/library/aa375649(VS.85).aspx (सुनिश्चित करें और उपयोगकर्ता सामग्री देखें तल पर) – Steve

10

Dependency Walker इस प्रश्न का उत्तर देने में आपकी सहायता करेगा।

3

आप संलेखन और उल्लेख किया DLL कर रहे हैं तो के हिस्से के रूप विजुअल C++ 8.0 सीआरटी के लिए किसी मर्ज मॉड्यूल के उपयोग पर विचार आपका इंस्टॉलर

मैंने देखा कि विंडोज एसडीके 6.1 में एक नया mt.exe उपकरण और नया विजुअल सी ++ सीआरटी है। मैं बड़ी सफलता के साथ InstallShield 12 इंस्टॉलर में एक शर्त के रूप में मर्ज मॉड्यूल का उपयोग करता हूं।