Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

Linux의 Wine에서 OLE 오류 8004013F 해결:단계별 가이드

어떤 종류의 GNU/Linux 구현으로 Wine 기반 환경에서 어떤 종류의 데이터베이스나 매크로를 실행하려고 하면 일종의 오류 메시지가 나타날 수 있습니다. 프로그램 흐름 중 어느 시점에서 궁극적으로 OLE 오류 8004013F가 표시될 수 있습니다. 상자. 그러면 스크립트 실행이 즉시 중단됩니다. 이런 일이 발생한다면 스크립트를 실행하는 데 필요한 라이브러리가 누락되었을 가능성이 높습니다. 기본 Windows 클라이언트에서 이러한 라이브러리는 파일 내부의 개체를 상위 호스트와 일치시키는 데 사용됩니다. X 서버에서 실행되는 각 프로그램은 고유한 방식으로 작업을 관리하기 때문에 Linux에는 이러한 기능이 없습니다.

기본 Microsoft Windows 환경에서 Delphi는 약간의 코드를 사용하여 Excel을 열 수 있습니다. 포함되고 연결된 Excel 인스턴스가 다른 개체와 작동하도록 하려면 eclApp:=CreateOleObject('Excel.Application');을 사용했을 수 있습니다. 그렇게 하려면. Linux 내부에서는 이런 방식으로 OpenOffice를 사용하려고 시도했을 수도 있습니다. 델파이가 무서운 8004013F를 던지는 것을 발견해야 할까요? eclApp:=CreateOleObject('com.sun.star.ServiceManager');의 인스턴스를 사용하여 OLE 개체를 생성하려고 시도한 후 오류가 발생했습니다. 스니펫을 사용했다면 아마도 동일한 종속성 문제를 겪고 있을 것입니다. 먼저, 코드에 철자가 틀린 부분이 있는지 살펴보세요. 이는 종속성이 포함되기 전에도 가장 일반적인 오류 원인입니다. 모든 내용을 올바르게 작성했다고 확신하면 필요한 라이브러리 복구를 진행할 수 있습니다.

필요한 OLE 라이브러리

keynote-nf라는 Windows Organizer 응용 프로그램을 사용하려고 시도하는 경우에도 동일한 오류가 발생할 수 있으며, 이 경우 동일한 프로세스를 사용하여 문제를 해결할 수 있습니다. keynote.exe 파일은 설치 프로그램과 함께 제공되지 않으므로 Program Files 디렉터리에 복사하는 것이 일반적입니다. 실행되는 동안 위에서 언급한 8004013F 오류 또는 다른 80004001 예외가 발생할 수 있습니다. 두 경우 모두 mkdir 명령이나 그래픽 파일 관리자를 사용하여 Program Files 내부에 디렉터리를 만듭니다. KeyNote-NF라고 부르고 keynote.exe 바이너리를 그 위로 옮깁니다.

Windows XP, Vista, 7, 8, 8.1 또는 10 파티션에 액세스할 수 있는 경우 C:\Windows\system32\에서 msftedit.dll 파일을 복사해 볼 수 있습니다. 디렉터리를 사용자가 만든 KeyNote-NF 디렉터리로 복사합니다. msls31.dll 파일도 복사해야 합니다. 설치 CD에서도 이 두 가지를 모두 얻을 수 있지만 확장하려면 확장 명령을 사용해야 합니다. 두 경우 모두 프로그램을 실행하면 제대로 작동하는 것을 확인할 수 있습니다.

Thunar, Nautilus 및 기타 유사한 파일 관리자는 keynote.exe를 DOS 실행 파일로 식별하므로 무시해도 됩니다. 이전처럼 실행하면 됩니다. 상황에 맞는 메뉴에 액세스하기 위해 마우스 오른쪽 버튼을 클릭하면 실제로 Wine에서 실행하도록 권장하는 옵션이 표시될 수도 있습니다. 시작하려면 이 옵션을 선택하세요. 대신 터미널에서 프로그램을 실행하면 프로세스에서 머리를 뒤흔들 수 있는 오류 메시지를 볼 수 있습니다. 경우에 따라 msftedit.dll 또는 msls31.dll과 다른 파일 이름에 대한 경고가 실제로 나타날 수도 있습니다. Unix 의존성 토끼굴과 마찬가지로 이론적으로는 다양한 파일로 가득 찬 디렉토리를 얻는 데 시간이 좀 걸릴 수 있습니다.

Excel 또는 Delphi 코드에서 동일한 문제가 발생하는 경우 실행하려는 실행 파일이 포함된 디렉터리로 이동하여 동적으로 연결된 두 라이브러리 파일을 해당 디렉터리에 배치하세요. ~/.wine/drive_c/Windows/system32에 넣어 Wine에 대한 전체 액세스 권한을 부여할 수 있습니다. 하지만 이는 Wine이 기본적으로 설치하는 일부 파일을 덮어쓸 수도 있습니다.

이러한 DLL은 어떤 면에서 Wine이 사용하는 오픈 소스 솔루션보다 우수하기 때문에 실행할 수 있는 다른 프로그램의 개체를 연결하는 데도 도움이 될 수 있지만 많은 사용자는 Linux 설치를 비공개 소스 파일로 오염시키는 아이디어를 좋아하지 않습니다. 프로그램이 실제로 사용하는 디렉토리에만 해당 파일을 두는 것이 이 문제를 해결하는 가장 좋은 방법입니다. 다른 파티션에서 복사한 실제 Windows 액세서리에 대한 디렉터리를 만들 수도 있습니다. 예를 들어 일부 사용자는 bash 스크립트나 Delphi 코드를 사용하여 기존 워드패드 인스턴스를 시작하는 경우 이러한 종류의 문제를 경험합니다. Wine이 자체 버전의 write.exe를 설치했을 수도 있지만 “~/.wine/drive_c/Program Files/”에 디렉터리를 만드는 데 방해가 되는 것은 없습니다. write.exe, msftedit.dll 및 msls31.dll을 여기에 배치한 다음 코드에서 해당 디렉터리를 참조합니다. Wine에는 Microsoft Windows NT의 cmd 해석기 기본 버전이 포함되어 있으므로 원하는 경우 배치 스크립트 파일에서 이러한 프로그램을 참조할 수도 있습니다. @ECHO OFF로 시작하세요. 그렇지 않으면 각 명령이 명령줄에 입력한 다음 Enter 키를 눌러 차례로 실행한 것처럼 나타납니다.

인터넷의 많은 사이트에서는 다운로드할 DLL 개체를 제공하며, 다른 파티션에 Windows가 설치되어 있지 않은 경우 이러한 저장소 중 하나를 사용하고 싶을 수 있습니다. 확실히 편리할 수 있지만, 이러한 방법으로 강제로 취득해야 하는 경우 msftedit.dll 및 msls31.dll에 대한 악성 코드 검사를 수행해야 합니다. Ubuntu, Debian 및 Fedora 프로젝트가 후원하는 공식 저장소를 취급하는 것과 동일한 방식으로 이러한 저장소를 취급해서는 안됩니다.

이러한 방식으로 강제로 취득해야 하는 경우 코드를 재배포하는 경우 라이선스 문제가 발생할 수 있다는 점도 명심하세요. 그러한 저장소에서 요구하는 실행 파일은 설치하지 마십시오. 이러한 실행 파일은 실제 공식 Microsoft Windows 소프트웨어 환경의 사용자에게 영향을 미치도록 설계된 애드웨어 형태인 경우가 많기 때문입니다. 이 두 라이브러리 이외의 여러 다른 라이브러리를 다운로드해야 하는 경우에도 마찬가지입니다. 왜냐하면 동일한 종류의 애드웨어 침입에 희생될 수 있기 때문입니다.

저자 소개

Linux의 Wine에서 OLE 오류 8004013F 해결:단계별 가이드

케빈 애로우

Kevin Arrows는 10년 이상의 업계 경험을 보유한 경험이 풍부하고 지식이 풍부한 기술 전문가입니다. 그는 MCTS(Microsoft Certified Technology Specialist) 인증을 보유하고 있으며 최신 기술 개발에 대한 최신 정보를 얻으려는 깊은 열정을 가지고 있습니다. Kevin은 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅과 같은 분야에서 자신의 전문 지식과 지식을 보여주면서 광범위한 기술 관련 주제에 대해 광범위하게 글을 썼습니다. 기술 분야에 대한 그의 공헌은 동료들로부터 널리 인정받고 존경받고 있으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 높은 평가를 받고 있습니다.