Pergunta

Temos um aplicativo .NET de 32 bits que utiliza a versão de 32 bits do dsofile.dll 2.1 para ler propriedades comuns dos documentos do Office. Isso funciona em versões de 32 bits do Windows, para documentos Office 2003 e Office 2007. Agora estamos examinando o comportamento de nosso aplicativo em um ambiente de 64 bits e, especificamente, no Windows Server 2008 de 64 bits.

Neste ambiente de 64 bits, o dsofile.dll pode ler com êxito as propriedades dos documentos do Office 2003 (por exemplo, doc), mas no caso dos documentos do Office 2007 (por exemplo, docx), apenas seqüências vazias são devolvidas para todas as propriedades, ou então um erro é gerado.

Aqui estão minhas observações:

Ambiente: Instalação limpa
Leia o Doc Props: OK
Leia os adereços do DOCX: valores vazios retornados

Ambiente: Pacote de compatibilidade do Office 2007 instalado
Leia o Doc Props: OK
Leia os adereços do DOCX: valores vazios retornados

Ambiente: Office 2007 Compatibility Pack SP1
Leia o Doc Props: OK
Leia os adereços do DOCX: valores vazios retornados

Ambiente: Office 2007 instalado
Leia o Doc Props: OK
Leia o Docx Props: Error Message = "O documento não é um arquivo OLE"

No sistema de 64 bits, usei a cópia do RegSvr32 localizada em %Systemroot % syswow64 para registrar dsofile.dll.

Qualquer conselho seria muito apreciado.

Foi útil?

Solução

Você pode compilar seu aplicativo para x86 em vez do AnyCPU, ele funcionará bem no X64 Windows.

Outra maneira possível é usar o XML SDK 2.0 aberto para o Microsoft Office. Veja se ele suporta aplicativos X64.

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

Outras dicas

Você pode encontrar o código -fonte DSOFILE (dê uma olhada no Google) e compilá -lo por 64 bits ou experimentar este link que alguém diz que já o fez:http://www.keysolutions.com/blogs/kenyee.nsf/d6plinks/kkye-79kru6

Eu também tenho uma versão x64 aqui, se você precisar, posso fazer upload.

Pode não estar diretamente relacionado ao seu problema, mas se você quiser experimentá -lo, usei x86 e x64

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top