غير قادر على قراءة أوفيس 2007 الدعائم وثيقة باستخدام إلى x86 dsofile.dll على النظام إلى x64

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

سؤال

لدينا تطبيق. NET 32 بت التي تستفيد من إصدار 32 بت من DSOFile.dll 2.1 إلى قراءة خصائص مشتركة من مستندات Office. وهذا يعمل على إصدارات 32 بت من ويندوز، ولكل من مستندات Office 2003 و Office 2007. ونحن ندرس الآن سلوك التطبيق لدينا في بيئة 64 بت، وتحديدا في 64 بت ويندوز سيرفر 2008.

في هذه البيئة 64 بت، DSOFile.dll يمكن قراءة بنجاح الخصائص من مكتب 2003 وثائق (على سبيل المثال. DOC)، ولكن في حالة مستندات Office 2007 (على سبيل المثال. DOCX)، يتم إرجاع فقط سلاسل فارغة لكافة الخصائص، وإلا يتم إنشاء خطأ.

وفيما يلي ملاحظاتي:

والبيئة: تثبيت نظيف
اقرأ الدعائم DOC: OK
الدعائم قراءة DOCX: عادت قيم فارغة

والبيئة: أوفيس 2007 حزمة التوافق تثبيت
اقرأ الدعائم DOC: OK
الدعائم قراءة DOCX: عادت قيم فارغة

والبيئة: أوفيس 2007 حزمة التوافق SP1
اقرأ الدعائم DOC: OK
الدعائم قراءة DOCX: عادت قيم فارغة

والبيئة: أوفيس 2007 تثبيت
اقرأ الدعائم DOC: OK
قراءة DOCX الدعائم: رسالة خطأ = "الوثيقة ليست ملف OLE"

في نظام 64 بت اعتدت على نسخة من REGSVR32 تقع في٪ SystemRoot٪ \ Syswow64 لتسجيل dsofile.dll.

وأي نصيحة سيكون موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

ويمكنك تجميع التطبيق الخاص بك لإلى x86 بدلا من AnyCPU، بعد ذلك سوف تعمل بشكل جيد على ويندوز إلى x64.

وسيلة ممكنة أخرى هي استخدام توسيع XML SDK 2.0 ل Microsoft Office. معرفة ما اذا كان يدعم إلى x64 التطبيقات.

HTTP: // شبكة الاتصالات العالمية .microsoft.com / تنزيل / details.aspx؟ FamilyId = C6E744E5-36E9-45F5-8D8C-331DF206E0D0 وdisplaylang = أون

نصائح أخرى

يمكنك الحصول على شفرة المصدر يحتوي Dsofile (إلقاء نظرة على جوجل) وترجمة ذلك ل64BIT، أو محاولة هذا الرابط الذي يقول شخص ما قاموا به بالفعل: http://www.keysolutions.com/blogs/kenyee.nsf/ d6plinks / KKYE-79KRU6

ولقد حصلت أيضا نسخة إلى x64 هنا إذا كنت في حاجة إليها أستطيع تحميله.

قد لا تكون ذات صلة مباشرة لمشكلتك ولكن إذا أردت أن تحاول ذلك، لقد استعملت x86 و x64

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top