यदि आप किसी भी प्रकार के GNU/Linux कार्यान्वयन पर Wine-आधारित वातावरण में किसी भी प्रकार के डेटाबेस या मैक्रो को चलाने का प्रयास कर रहे हैं, तो आप किसी प्रकार का त्रुटि संदेश अनुभव कर सकते हैं। प्रोग्राम फ्लो के दौरान किसी बिंदु पर, आप अंततः एक OLE त्रुटि 8004013F बॉक्स देख सकते हैं। आपका स्क्रिप्ट तब तुरंत निष्पादन बंद कर देगा। यदि ऐसा होता है, तो आप एक लाइब्रेरी गायब होने की अधिक संभावना रखते हैं जिसे आपके स्क्रिप्ट को चलाने की आवश्यकता होती है। एक नेटिव विंडोज क्लाइंट में, ये लाइब्रेरी फ़ाइलों के अंदर ऑब्जेक्ट को उनके पैरेंट होस्ट से मिलान करने के लिए उपयोग की जाती हैं। लिनक्स में यह क्षमता नहीं है, क्योंकि X सर्वर में चलने वाला प्रत्येक प्रोग्राम चीजों को अपने तरीके से प्रबंधित करता है।
एक नेटिव माइक्रोसॉफ्ट विंडोज वातावरण के तहत, Delphi एक्सेल खोलने के लिए कोड के एक छोटे से बिट का उपयोग कर सकता है। यदि आप एक एम्बेडेड और लिंक्ड एक्सेल इंस्टेंस चाहते थे जो विभिन्न ऑब्जेक्ट के साथ काम करे, तो आपने ऐसा करने के लिए eclApp:=CreateOleObject(‘Excel.Application’); का उपयोग किया होगा। लिनक्स के अंदर, आपने OpenOffice का उपयोग इसी तरह करने की कोशिश की होगी। यदि आप eclApp:=CreateOleObject(‘com.sun.star.ServiceManager’); स्निपेट के साथ एक OLE ऑब्जेक्ट बनाने का प्रयास करने के बाद Delphi आपको भयानक 8004013F त्रुटि देता है, तो आप शायद उसी डिपेंडेंसी समस्या से पीड़ित हैं। सबसे पहले, किसी भी गलत वर्तनी के लिए अपने कोड को देखें। डिपेंडेंसी शामिल होने से पहले भी ये त्रुटियों के सबसे आम कारण हैं। एक बार जब आप सुनिश्चित हो जाते हैं कि आपने सब कुछ सही ढंग से लिखा है, और फिर आप आवश्यक लाइब्रेरी को पुनर्प्राप्त करने के लिए आगे बढ़ सकते हैं।
आवश्यक OLE लाइब्रेरी
आप उसी त्रुटि का अनुभव भी कर सकते हैं यदि आप keynote-nf नामक एक विंडोज ऑर्गनाइज़र एप्लिकेशन का उपयोग करने का प्रयास कर रहे थे, और यदि ऐसा है तो आप इसे ठीक करने के लिए उसी प्रक्रिया का उपयोग कर सकते हैं। keynote.exe फ़ाइल एक इंस्टॉलर के साथ नहीं आती है, इसलिए इसे प्रोग्राम फ़ाइल्स डायरेक्टरी में कॉपी करना आम है। हालांकि यह चल सकता है, आप उपरोक्त 8004013F त्रुटि या एक अलग 80004001 अपवाद का अनुभव कर सकते हैं। किसी भी मामले में, mkdir कमांड या अपने ग्राफिकल फ़ाइल प्रबंधक के साथ प्रोग्राम फ़ाइल्स के अंदर एक डायरेक्टरी बनाएं। इसे KeyNote-NF कहें, और keynote.exe बाइनरी को उस पर ले जाएं।
यदि आपके पास Windows XP, Vista, 7, 8, 8.1 या 10 पार्टीशन तक पहुंच है, तो आप C:\Windows\system32\ डायरेक्टरी से msftedit.dll फ़ाइल को आपके द्वारा बनाए गए KeyNote-NF डायरेक्टरी में कॉपी करना चाह सकते हैं। आपको msls31.dll फ़ाइल भी कॉपी करनी चाहिए। आप इन दोनों को इंस्टॉलेशन CD से भी प्राप्त कर सकते हैं, लेकिन आपको उन्हें फुलाने के लिए expand कमांड का उपयोग करना होगा। किसी भी मामले में, प्रोग्राम चलाएं और आपको पता चलेगा कि यह ठीक काम करता है।
Thunar, Nautilus और अन्य समान फ़ाइल प्रबंधक keynote.exe को DOS एक्जीक्यूटेबल के रूप में पहचानेंगे, जिसे आप सुरक्षित रूप से अनदेखा कर सकते हैं। बस इसे वैसे ही चलाएं जैसे आपने पहले किया था। जब आप संदर्भ मेनू तक पहुंचने के लिए राइट-क्लिक करते हैं, तो आपको वास्तव में इसे Wine के तहत चलाने के लिए प्रोत्साहित करने वाला एक विकल्प मिल सकता है। इसे शुरू करने के लिए इस विकल्प का चयन करें। टर्मिनल से प्रोग्राम चलाने से आपको प्रक्रिया में उभरने वाले किसी भी त्रुटि संदेश को देखने की अनुमति मिलेगी। कुछ मामलों में, आपको वास्तव में msftedit.dll या msls31.dll से अलग फ़ाइल नाम के बारे में चेतावनी मिल सकती है, जिसे आपको इसके बजाय प्राप्त करना चाहिए। यूनिक्स डिपेंडेंसी रैबिट होल की तरह, आप सैद्धांतिक रूप से विभिन्न फ़ाइलों से भरी एक डायरेक्टरी प्राप्त करने में कुछ समय बिता सकते हैं।
जब आप Excel या Delphi कोड के साथ समान समस्या हो रही है, तो उस डायरेक्टरी पर नेविगेट करें जिसमें आप चलाने का प्रयास कर रहे एक्जीक्यूटेबल है और उन दो डायनामिकली लिंक्ड लाइब्रेरी फ़ाइलों को उस डायरेक्टरी में रखें। आप Wine को इनकी पूरी पहुंच दे सकते हैं इन्हें ~/.wine/drive_c/Windows/system32 में रखकर, लेकिन यह Wine द्वारा डिफ़ॉल्ट रूप से इंस्टॉल की गई कुछ फ़ाइलों को ओवरराइट कर सकता है।
चूंकि ये DLLs कुछ मायनों में उन ओपन-सोर्स समाधानों से बेहतर हैं जिनका Wine उपयोग करता है, वे अन्य प्रोग्राम में ऑब्जेक्ट को लिंक करने में भी सहायता कर सकते हैं जिन्हें आप चला सकते हैं, लेकिन कई उपयोगकर्ता अपने लिनक्स इंस्टॉलेशन को क्लोज्ड-सोर्स फ़ाइलों से प्रदूषित करने का विचार पसंद नहीं करते हैं। उन्हें केवल उन डायरेक्टरी में रखना जिन्हें आपके प्रोग्राम वास्तव में उपयोग करते हैं, इस समस्या को हल करने का सबसे अच्छा तरीका है। आप वास्तविक विंडोज एक्सेसरीज़ के लिए डायरेक्टरी भी बना सकते हैं जिन्हें आपने किसी अन्य पार्टीशन से कॉपी किया है। उदाहरण के लिए, कुछ उपयोगकर्ता इन प्रकार की समस्याओं का अनुभव करते हैं यदि वे पारंपरिक WordPad इंस्टेंस शुरू करने के लिए bash स्क्रिप्ट या Delphi कोड का उपयोग कर रहे हैं। Wine ने अपने स्वयं के write.exe संस्करण को इंस्टॉल किया हो सकता है, लेकिन ऐसा कुछ भी नहीं है जो आपको “~/.wine/drive_c/Program Files/” में एक डायरेक्टरी बनाने और उसमें write.exe, msftedit.dll और msls31.dll रखने से रोक रहा है, फिर अपने कोड के साथ उस डायरेक्टरी को संदर्भित करें। चूंकि Wine में Microsoft Windows NT से cmd इंटरप्रेटर का एक प्राथमिक संस्करण शामिल है, आप बैच स्क्रिप्ट फ़ाइलों में इन प्रोग्राम को भी संदर्भित कर सकते हैं यदि आप पसंद करते हैं। प्रत्येक कमांड को ऐसा दिखने से रोकने के लिए इन्हें @ECHO OFF से पूर्वनिर्धारित करना सुनिश्चित करें जैसे आपने इसे कमांड लाइन पर टाइप किया है और फिर एक के बाद एक निष्पादित करने के लिए एंटर दबाया है।
इंटरनेट पर कई साइटें डाउनलोड के लिए DLL ऑब्जेक्ट प्रदान करती हैं, और यदि आपके पास किसी अन्य पार्टीशन पर विंडोज इंस्टॉलेशन नहीं है तो इन रिपॉजिटरी में से किसी एक के साथ जाना आकर्षक हो सकता है। हालांकि वे वास्तव में सुविधाजनक हो सकते हैं, यदि आप उन्हें इस तरह से प्राप्त करने के लिए मजबूर हैं तो msftedit.dll और msls31.dll पर मैलवेयर स्कैन करना सुनिश्चित करें। आपको इन रिपॉजिटरी के साथ उसी तरह व्यवहार नहीं करना चाहिए जैसे आप उबंटू, डेबियन और फेडोरा परियोजनाओं द्वारा प्रायोजित आधिकारिक वालों के साथ करते हैं।
ध्यान रखें कि यदि आप उन्हें इस तरीके से प्राप्त करने के लिए मजबूर हैं तो यह लाइसेंसिंग चिंताओं का कारण बन सकता है यदि आप अपने कोड को पुनर्वितरित कर रहे हैं। किसी भी एक्जीक्यूटेबल को इंस्टॉल न करें जो ऐसा कोई रिपॉजिटरी पूछता है, क्योंकि ये एक्जीक्यूटेबल वास्तविक आधिकारिक माइक्रोसॉफ्ट विंडोज सॉफ़्टवेयर वातावरण के उपयोगकर्ताओं को प्रभावित करने के लिए डिज़ाइन किए गए एडवेयर के रूप में अक्सर होते हैं। यही बात किसी भी मामले के लिए लागू होती है जहां आपको इन दो के बाहर कई अलग-अलग लाइब्रेरी डाउनलोड करने की आवश्यकता हो सकती है, क्योंकि वे उसी प्रकार के एडवेयर आक्रमण का शिकार हो सकते हैं।