Nous avons une application .NET 32 bits qui utilise la version 32 bits de DSOFile.dll 2.1 pour lire les propriétés communes à partir de documents Office. Cela fonctionne sur les versions 32 bits de Windows, pour les documents Office 2003 et Office 2007. Nous examinons maintenant le comportement de notre application dans un environnement 64 bits, et plus particulièrement dans Windows Server 2008 64 bits.Impossible de lire les accessoires doc 2007 Office utilisant x86 dsofile.dll sur le système x64
Dans cet environnement 64 bits, DSOFile.dll peut lire avec succès les propriétés de documents Office 2003 (par exemple, DOC), mais dans le cas des documents Office 2007 (par exemple, DOCX), seules les chaînes vides sont renvoyées pour toutes les propriétés, sinon une erreur est générée.
Voici mes observations:
Environnement: clean install
Lire les accessoires DOC: OK
Lire props DOCX: valeurs vides retournés
Environnement: Office 2007 Pack de compatibilité installé
Lire les accessoires DOC : OK
Lecture des accessoires DOCX: valeurs vides renvoyées
Environnement: Offi CE 2007 Pack de compatibilité SP1
Lire les accessoires DOC: OK
accessoires Lire DOCX: valeurs vides en retour
Environnement: Office 2007 installé
Lire les accessoires DOC: OK
accessoires Lire DOCX: message d'erreur = « document pas un fichier OLE "
Sur le système 64 bits, j'ai utilisé la copie de regsvr32 située dans% SystemRoot% \ Syswow64 pour enregistrer dsofile.dll.
Un conseil serait grandement apprécié.
En bref aparté, vous n'avez pas à vous soucier de la version de regsvr32.exe vous utilisez, au moins si vous utilisez Windows 7. La version 64 bits appellera la version 32 bits si passé un fichier 32 bits, et vice versa. (Je ne suis pas sûr que Vista a fait la même chose mais Win 7 le fait à coup sûr.) –