วิธีแก้ไข OLE Error 8004013F บน Linux



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

หากคุณกำลังพยายามเรียกใช้ฐานข้อมูลหรือมาโครประเภทใดก็ตามในสภาพแวดล้อมที่ใช้ไวน์จากการใช้งาน GNU / Linux ประเภทใดก็ตามคุณอาจพบข้อความแสดงข้อผิดพลาดบางประเภท ในบางช่วงของขั้นตอนของโปรแกรมคุณอาจเห็นไฟล์ ข้อผิดพลาด OLE 8004013F กล่อง. จากนั้นสคริปต์ของคุณจะหยุดดำเนินการทันที หากสิ่งนี้เกิดขึ้นแสดงว่าคุณมักจะพลาดไลบรารีที่สคริปต์ของคุณต้องเรียกใช้ ในไคลเอนต์ Windows ดั้งเดิมไลบรารีเหล่านี้ใช้เพื่อจับคู่ออบเจ็กต์ภายในไฟล์กับโฮสต์หลัก Linux ไม่มีความสามารถนี้เนื่องจากแต่ละโปรแกรมที่ทำงานใน X Server จะจัดการสิ่งต่างๆในแบบของตัวเอง



ภายใต้สภาพแวดล้อม Microsoft Windows ดั้งเดิม Delphi สามารถใช้รหัสเล็กน้อยเพื่อเปิด Excel หากคุณต้องการให้อินสแตนซ์ Excel ที่ฝังและเชื่อมโยงทำงานกับวัตถุอื่นคุณอาจเคยใช้ eclApp: = CreateOleObject ('Excel.Application'); เพื่อทำเช่นนั้น ภายใน Linux คุณอาจเคยลองใช้ OpenOffice ด้วยวิธีนี้ หากคุณพบว่าเดลฟีโยนความกลัว 8004013F เกิดข้อผิดพลาดกับคุณหลังจากที่คุณพยายามสร้างอ็อบเจ็กต์ OLE ด้วยอินสแตนซ์ของไฟล์ eclApp: = CreateOleObject ('com.sun.star.ServiceManager'); ตัวอย่างคุณอาจประสบปัญหาการพึ่งพาเดียวกัน ขั้นแรกให้ตรวจสอบรหัสของคุณเพื่อหาการสะกดผิด สาเหตุเหล่านี้เป็นสาเหตุที่พบบ่อยที่สุดของข้อผิดพลาดก่อนที่การอ้างอิงจะเกี่ยวข้อง เมื่อแน่ใจว่าคุณได้เขียนทุกอย่างถูกต้องแล้วคุณสามารถดำเนินการกู้คืนไลบรารีที่จำเป็นได้



ห้องสมุด OLE ที่จำเป็น

คุณอาจพบข้อผิดพลาดเดียวกันนี้หากคุณพยายามใช้แอปพลิเคชันตัวจัดระเบียบของ Windows ที่เรียกว่า keynote-nf และหากเป็นเช่นนั้นคุณสามารถใช้กระบวนการเดียวกันนี้เพื่อแก้ไขได้ ไฟล์ keynote.exe ไม่ได้มาพร้อมกับโปรแกรมติดตั้งดังนั้นจึงเป็นเรื่องปกติที่จะคัดลอกไปยังไดเรกทอรี Program Files ในขณะที่อาจทำงานคุณอาจพบข้อผิดพลาด 8004013F ที่กล่าวถึงข้างต้นหรือข้อยกเว้น 80004001 ที่แตกต่างกัน ไม่ว่าในกรณีใดให้สร้างไดเร็กทอรีภายใน Program Files ด้วยคำสั่ง mkdir หรือตัวจัดการไฟล์กราฟิกของคุณ เรียกมันว่า KeyNote-NF และย้ายไบนารี keynote.exe ไปที่มัน



หากคุณสามารถเข้าถึงพาร์ติชัน Windows XP, Vista, 7, 8, 8.1 หรือ 10 คุณอาจต้องการลองคัดลอกไฟล์ msftedit.dll จาก C: Windows system32 ไดเร็กทอรีไปยังไดเร็กทอรี KeyNote-NF ที่คุณสร้างขึ้น คุณควรคัดลอกไฟล์ msls31.dll ด้วย คุณสามารถรับทั้งสองอย่างนี้จากซีดีการติดตั้งได้เช่นกัน แต่คุณจะต้องใช้คำสั่งขยายเพื่อขยายไฟล์ ไม่ว่าในกรณีใดให้รันโปรแกรมและคุณจะพบว่ามันทำงานได้ดี



Thunar, Nautilus และตัวจัดการไฟล์อื่น ๆ ที่คล้ายกันจะระบุว่า keynote.exe เป็นไฟล์ปฏิบัติการ DOS ซึ่งคุณสามารถเพิกเฉยได้อย่างปลอดภัย เพียงเรียกใช้เหมือนที่คุณเคยทำมาก่อน เมื่อคุณคลิกขวาเพื่อเข้าถึงเมนูบริบทคุณอาจได้รับตัวเลือกที่แนะนำให้เรียกใช้ภายใต้ไวน์ เลือกตัวเลือกนี้เพื่อเริ่มต้น การเรียกใช้โปรแกรมจากเทอร์มินัลแทนจะช่วยให้คุณเห็นข้อความแสดงข้อผิดพลาดที่อาจอยู่ด้านหลังของพวกเขาในกระบวนการ ในบางกรณีคุณอาจได้รับคำเตือนเกี่ยวกับชื่อไฟล์ที่แตกต่างจาก msftedit.dll หรือ msls31.dll ซึ่งคุณควรได้รับแทน เช่นเดียวกับโพรงกระต่ายพึ่งพา Unix ในทางทฤษฎีคุณสามารถใช้เวลาในการค้นหาไดเรกทอรีที่เต็มไปด้วยไฟล์ต่างๆ

เมื่อคุณประสบปัญหาเดียวกันกับรหัส Excel หรือ Delphi ให้ไปที่ไดเร็กทอรีที่มีไฟล์ปฏิบัติการที่คุณพยายามเรียกใช้และวางไฟล์ไลบรารีที่เชื่อมโยงแบบไดนามิกสองไฟล์ไว้ในไดเรกทอรีนั้น คุณสามารถให้ไวน์เข้าถึงสิ่งเหล่านี้ได้ทั้งหมดโดยใส่เข้าไป ~ / .wine / drive_c / Windows / system32 เช่นกัน แต่สิ่งนี้อาจเขียนทับไฟล์บางไฟล์ที่ Wine ติดตั้งตามค่าเริ่มต้น

เนื่องจาก DLL เหล่านี้เหนือกว่าในบางวิธีสำหรับโซลูชันโอเพ่นซอร์สที่ Wine ใช้พวกเขายังสามารถช่วยในการเชื่อมโยงวัตถุในโปรแกรมอื่น ๆ ที่คุณอาจเรียกใช้ แต่ผู้ใช้หลายคนไม่ชอบแนวคิดที่จะสร้างมลพิษให้กับการติดตั้ง Linux ด้วยแหล่งปิด ไฟล์. การใส่ไว้ในไดเร็กทอรีที่โปรแกรมของคุณใช้จริงเท่านั้นเป็นวิธีที่ดีที่สุดในการแก้ปัญหานี้ คุณยังสามารถสร้างไดเร็กทอรีสำหรับอุปกรณ์เสริม Windows จริงที่คุณคัดลอกมาจากพาร์ติชันอื่น ตัวอย่างเช่นผู้ใช้บางรายประสบปัญหาเหล่านี้หากใช้ bash script หรือรหัส Delphi เพื่อเริ่มอินสแตนซ์ WordPad แบบเดิม Wine อาจติดตั้ง write.exe เป็นเวอร์ชันของตัวเองแล้ว แต่ไม่มีอะไรหยุดคุณไม่ให้สร้างไดเรกทอรีใน “ ~ / .wine / drive_c / ไฟล์โปรแกรม /” และวาง write.exe, msftedit.dll และ msls31.dll จากนั้นอ้างอิงไดเรกทอรีนั้นด้วยรหัสของคุณ เนื่องจาก Wine มีตัวแปล cmd เวอร์ชันดั้งเดิมจาก Microsoft Windows NT คุณจึงสามารถอ้างอิงโปรแกรมเหล่านี้ในไฟล์ Batch script ได้หากต้องการ อย่าลืมนำคำสั่งเหล่านี้ด้วย @ECHO OFF มิฉะนั้นแต่ละคำสั่งจะปรากฏขึ้นราวกับว่าคุณได้พิมพ์ลงในบรรทัดคำสั่งจากนั้นกด Enter เพื่อเรียกใช้ทีละคำสั่ง

เว็บไซต์จำนวนมากบนอินเทอร์เน็ตเสนอวัตถุ DLL สำหรับการดาวน์โหลดและอาจเป็นเรื่องยากที่จะใช้ที่เก็บเหล่านี้หากคุณไม่มีการติดตั้ง Windows บนพาร์ติชันอื่น แม้ว่าจะสะดวกอย่างแน่นอน แต่อย่าลืมสแกนมัลแวร์บน msftedit.dll และ msls31.dll หากคุณถูกบังคับให้รับด้วยวิธีนี้ คุณไม่ควรปฏิบัติต่อที่เก็บเหล่านี้ในลักษณะเดียวกับที่คุณปฏิบัติกับที่เก็บอย่างเป็นทางการที่สนับสนุนโดยโครงการ Ubuntu, Debian และ Fedora

โปรดทราบด้วยว่าหากคุณถูกบังคับให้ซื้อในลักษณะนี้อาจทำให้เกิดความกังวลในการออกใบอนุญาตหากคุณแจกจ่ายรหัสของคุณใหม่ อย่าติดตั้งไฟล์ปฏิบัติการใด ๆ ที่ที่เก็บข้อมูลดังกล่าวถามถึงเนื่องจากไฟล์ปฏิบัติการเหล่านี้มักไม่ใช่รูปแบบของแอดแวร์ที่ออกแบบมาเพื่อให้มีอิทธิพลต่อผู้ใช้ซอฟต์แวร์ Microsoft Windows ที่เป็นทางการจริง เช่นเดียวกันกับกรณีใด ๆ ที่คุณอาจจำเป็นต้องดาวน์โหลดไลบรารีที่แตกต่างกันจำนวนมากนอกทั้งสองนี้เนื่องจากอาจตกเป็นเหยื่อของการบุกรุกแอดแวร์ประเภทเดียวกันได้

อ่าน 4 นาที