x64 시스템에서 x86 dsofile.dll을 사용하여 Office 2007 Doc Props를 읽을 수 없습니다.

StackOverflow https://stackoverflow.com/questions/1926482

문제

32 비트 .NET 응용 프로그램이있어 32 비트 버전의 dsofile.dll 2.1을 사용하여 사무실 문서에서 공통 속성을 읽습니다. 이것은 Office 2003 및 Office 2007 문서 모두에 대해 32 비트 버전의 Windows에서 작동합니다. 우리는 이제 64 비트 환경, 특히 64 비트 Windows Server 2008에서 응용 프로그램의 행동을 검토하고 있습니다.

이 64 비트 환경에서 Dsofile.dll은 Office 2003 문서 (예 : DOC)에서 속성을 성공적으로 읽을 수 있지만 Office 2007 문서 (예 : DOCX)의 경우 모든 속성에 대해 빈 문자 만 반환됩니다. 오류가 생성됩니다.

내 관찰은 다음과 같습니다.

환경 : 청소 설치
Doc Props : Ok
DOCX 소품 읽기 : 빈 값이 반환되었습니다

환경 : Office 2007 호환성 팩 설치
Doc Props : Ok
DOCX 소품 읽기 : 빈 값이 반환되었습니다

환경 : Office 2007 호환성 팩 SP1
Doc Props : Ok
DOCX 소품 읽기 : 빈 값이 반환되었습니다

환경 : Office 2007 설치
Doc Props : Ok
Docx Props 읽기 : Error Message = "Document는 OLE 파일이 아닙니다"

64 비트 시스템에서 나는 dsofile.dll을 등록하기 위해 %SystemRoot % syswow64에 위치한 regsvr32의 사본을 사용했습니다.

모든 조언은 대단히 감사하겠습니다.

도움이 되었습니까?

해결책

응용 프로그램을 ANDYCPU 대신 X86으로 컴파일하면 X64 Windows에서 잘 작동합니다.

또 다른 가능한 방법은 Microsoft Office에 Open XML SDK 2.0을 사용하는 것입니다. x64 응용 프로그램을 지원하는지 확인하십시오.

http://www.microsoft.com/downloads/details.aspx?familyid=c6e744e5-36e9-45f5-8d8c-331df206e0d0&displaylang=en

다른 팁

dsofile 소스 코드 (Google에서 살펴 보는)를 찾아 64 비트를 위해 컴파일하거나 누군가가 이미 수행했다고 말한이 링크를 시도 할 수 있습니다.http://www.keysolutions.com/blogs/kenyee.nsf/d6plinks/kkye-79kru6

필요한 경우 여기에 x64 버전이 있습니다. 업로드 할 수 있습니다.

그것은 당신의 문제와 직접 관련이 없을 수도 있지만 시도하고 싶다면 x86과 x64를 사용했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top