Как исправить ошибку OLE 8004013F в Linux



Попробуйте наш инструмент устранения неполадок

Если вы пытаетесь запустить какую-либо базу данных или макрос в среде на основе Wine на любой реализации GNU / Linux, вы можете получить какое-то сообщение об ошибке. В какой-то момент во время выполнения программы вы можете в конечном итоге увидеть Ошибка OLE 8004013F коробка. Ваш скрипт немедленно прекратит выполнение. Если это произойдет, то вам, скорее всего, не хватит библиотеки, которую нужно запустить вашему скрипту. В собственном клиенте Windows эти библиотеки используются для сопоставления объектов внутри файлов с их родительским хостом. В Linux такой возможности нет, поскольку каждая программа, запущенная на X-сервере, управляет вещами по-своему.



В собственной среде Microsoft Windows Delphi может использовать небольшой фрагмент кода для открытия Excel. Если вы хотите, чтобы встроенный и связанный экземпляр Excel работал с разными объектами, возможно, вы использовали eclApp: = CreateOleObject («Excel.Application»); сделать так. Внутри Linux вы, возможно, даже пытались использовать OpenOffice таким образом. Если вы обнаружите, что Дельфи бросает страшные 8004013F ошибка у вас после попытки создать объект OLE с экземпляром eclApp: = CreateOleObject («com.sun.star.ServiceManager»); snippet, значит, вы, вероятно, страдаете той же проблемой зависимости. Во-первых, проверьте свой код на предмет орфографических ошибок. Это наиболее частые причины ошибок даже до того, как будут задействованы зависимости. Как только вы убедитесь, что все написали правильно, вы можете приступить к восстановлению необходимых библиотек.



Необходимые библиотеки 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, который вы можете игнорировать. Просто запустите его, как раньше. Когда вы щелкаете правой кнопкой мыши, чтобы получить доступ к контекстному меню, вы действительно можете получить вариант, побуждающий вас запустить его под Wine. Выберите этот вариант, чтобы запустить его. Запуск программы с терминала вместо этого позволит вам увидеть любые сообщения об ошибках, которые могут поднять голову в процессе. В некоторых случаях вы можете получить предупреждение о другом имени файла, отличном от msftedit.dll или msls31.dll, которые вам следует приобрести. Подобно кроличьей норе зависимостей Unix, теоретически вы могли бы потратить некоторое время на получение каталога, полного различных файлов.

Если у вас возникла такая же проблема с кодом Excel или Delphi, перейдите в каталог, содержащий исполняемый файл, который вы пытаетесь запустить, и поместите два динамически связанных файла библиотеки в этот каталог. Вы можете предоставить Wine полный доступ к ним, поместив их в ~ / .wine / drive_c / Windows / system32 также, но это может привести к перезаписи некоторых файлов, устанавливаемых Wine по умолчанию.

Поскольку эти библиотеки DLL в некоторых отношениях превосходят решения с открытым исходным кодом, которые использует Wine, они также могут помочь в связывании объектов в других программах, которые вы можете запускать, но многим пользователям не нравится идея загрязнять свою установку Linux закрытым исходным кодом. файлы. Размещение их только в каталогах, которые действительно используются вашими программами, - лучший способ решить эту проблему. Вы даже можете создавать каталоги для фактических принадлежностей Windows, скопированных из другого раздела. Например, некоторые пользователи сталкиваются с такими проблемами, если они используют сценарий bash или код Delphi для запуска традиционных экземпляров WordPad. Wine мог установить свою собственную версию write.exe, но ничто не мешает вам создать каталог в «~ / .Wine / drive_c / Program Files /» и поместив в него write.exe, msftedit.dll и msls31.dll, а затем ссылаясь на этот каталог с вашим кодом. Поскольку Wine включает примитивную версию интерпретатора cmd из Microsoft Windows NT, вы также можете ссылаться на эти программы в файлах пакетных сценариев, если хотите. Обязательно укажите перед ними @ECHO OFF, иначе каждая команда будет выглядеть так, как если бы вы набрали ее в командной строке, а затем нажали клавишу ввода, чтобы выполнить ее одну за другой.

Многие сайты в Интернете предлагают объекты DLL для загрузки, и может возникнуть соблазн использовать один из этих репозиториев, если у вас нет установки Windows на другом разделе. Хотя они действительно могут быть удобными, обязательно выполните сканирование на наличие вредоносных программ для файлов msftedit.dll и msls31.dll, если вы вынуждены получить их таким образом. Не следует обращаться с этими репозиториями так же, как с официальными, спонсируемыми проектами Ubuntu, Debian и Fedora.

Имейте в виду, что если вы будете вынуждены приобретать их таким образом, это может вызвать проблемы с лицензированием, если вы распространяете свой код. Не устанавливайте никаких исполняемых файлов, о которых спрашивает любой такой репозиторий, поскольку эти исполняемые файлы чаще всего являются формой рекламного ПО, предназначенного для воздействия на пользователей реальных официальных программных сред Microsoft Windows. То же самое касается любого случая, когда вам, возможно, потребовалось загрузить несколько разных библиотек помимо этих двух, поскольку они могут стать жертвой такого же рода вторжения рекламного ПО.

4 минуты на чтение