اعتبارات التنفيذ التلقائي من جانب الخادم ل Office

الملخص

يمكن للمطورين استخدام التنفيذ التلقائي في Microsoft Office لإنشاء حلول مخصصه تستخدم القدرات والميزات المضمنة في منتج Office. علي الرغم من انه يمكن تطبيق التطوير البرمجي هذا علي نظام عميل مع سهوله نسبيه ، يمكن ان يحدث عدد من الكومبليكيشنز إذا كان التنفيذ التلقائي يتم من التعليمات البرمجية من جانب الخادم مثل Microsoft Active Server Pages (ASP) أو ASP.NET أو DCOM أو خدمه Windows NT. تناقش هذه المقالة كومبليكيشنز المطورين. توفر هذه المقالة أيضا بدائل للتنفيذ التلقائي الذي يمكنه زيادة مستوي الأداء. وعلي الرغم من ذلك ، يجب ان يكون المطورون علي علم بان الاقتراحات التي توفرها هذه المقالة مخصصه لأغراض المعلومات فقط. لا توصي Microsoft بالتنفيذ التلقائي لبرنامج Office أو دعمه.

ملاحظة

في هذا السياق ، يعتبر مشغل قاعده بيانات Access الذي تمت أعاده الاتصال به ، وهو مكونات Microsoft Office. ينطبق المصطلح "جنبا إلى الخادم" أيضا علي التعليمات البرمجية التي يتم تشغيلها علي محطه عمل Windows ، إذا كانت التعليمات البرمجية تعمل من محطه عمل Windows أخرى غير المحطة التفاعلية للمستخدم الذي قام بتسجيل الدخول. علي سبيل المثال ، يتم تشغيل التعليمات البرمجية التي يتم تشغيلها بواسطة جدوله المهام ضمن حساب النظام في البيئة نفسها التي تكون فيها التعليمات البرمجية ل ASP في الخادم أو رمز DCOM. ولذلك ، قد تحدث العديد من المشاكل التي تتناولها هذه المقالة. لمزيد من المعلومات حول محطات عمل Windows وحول COM ، راجع القسم "مزيد من المعلومات" وقسم "المراجع".

مزيد من المعلومات

تم تصميم كل الإصدارات الحالية من Microsoft Office واختبارها وتكوينها ليتم تشغيلها كمنتجات المستخدمين النهائيين علي محطه عمل العميل. انهم يفترضون سطح مكتب تفاعلي وملف تعريف المستخدم. لا توفر لهم مستوي الرينترانسي أو الأمان الضروري لتلبيه احتياجات المكونات من جانب الخادم التي تم تصميمها ليتم تشغيلها بدون مراقبه. لا توصي Microsoft حاليا ، ولا تعتمد ، التنفيذ التلقائي لتطبيقات Microsoft Office من اي تطبيق عميل غير مراقب أو اي مكون أو ASP.NET وخدمات NT) ، لان Office قد يعرض سلوكا غير مستقر و/أو توقف تام عند تشغيل Office في هذه البيئة. إذا كنت تقوم بإنشاء حل يتم تشغيله في سياق من جانب الخادم ، فعليك محاولة استخدام المكونات التي تم جعلها أمنه لتنفيذها بشكل غير مراقب. أو ، يجب ان تحاول العثور علي بدائل تسمح بجزء علي الأقل من التعليمات البرمجية لتشغيل جانب العميل. إذا كنت تستخدم تطبيق Office من حل من جانب الخادم ، سيؤدي التطبيق إلى عدم تشغيل العديد من الإمكانيات الضرورية بنجاح. بالاضافه إلى ذلك ، ستصبح لديك مخاطر في استقرار الحل العام الخاص بك.

مشاكل في استخدام التنفيذ التلقائي من جانب الخادم ل Office

يجب ان يكون المطورون الذين يحاولون استخدام Office في حل من جانب الخادم علي علم بالمناطق الرئيسية التي يسلكها Office بطريقه مختلفه عن المتوقع بسبب البيئة. إذا تم تشغيل التعليمات البرمجية بنجاح ، فعليك معالجه هذه المشاكل وتقليل تاثيراتها بقدر الإمكان. خذ في الاعتبار هذه المشاكل بعناية عندما تقوم بإنشاء التطبيق الخاص بك. لا يمكن لأحد الحلول معالجه كل المشاكل. تتطلب التصميمات المختلفة تحديد اولويه العناصر بطريقه مختلفه.

  • هويه المستخدم: تفترض تطبيقات Office هويه المستخدم عند تشغيل التطبيقات ، حتى عند بدء التنفيذ التلقائي للتطبيقات. تحاول التطبيقات تهيئه أشرطه الاداات والقوائم والخيارات والطابعات وبعض الوظائف الاضافيه استنادا إلى الإعدادات الموجودة في خليه سجل المستخدم الخاصة بالمستخدم الذي يقوم ببدء تشغيل التطبيق. يتم تشغيل العديد من الخدمات ضمن الحسابات التي لا تحتوي علي ملفات تعريف المستخدمين (مثل حساب النظام أو حسابات الIWAM_ [servername]). ولذلك ، قد لا تتم تهيئه Office بشكل صحيح عند بدء التشغيل. في هذه الحالة ، يقوم Office بإرجاع خطا في الدالة كريتيوبجيكت أو الدالة CoCreateInstance . حتى إذا كان من الممكن بدء تشغيل تطبيق Office ، فقد لا تعمل الدالات الأخرى بشكل صحيح إذا لم يكن هناك اي ملف تعريف للمستخدم.

  • التفاعل مع سطح المكتب: تفترض تطبيقات Office انه يتم تشغيلها ضمن سطح مكتب تفاعلي. في بعض الحالات ، قد تحتاج التطبيقات إلى ان تكون مرئية لبعض وظائف التنفيذ التلقائي لتعمل بشكل صحيح. إذا حدث خطا غير متوقع ، أو إذا كانت معلمه غير محدده مطلوبه لإكمال أحدي الدالات ، فهذا يعني ان Office مصمم لمطالبه المستخدم بمربع الحوار المشروط الذي يطلب من المستخدم تنفيذه. لا يمكن استبعاد مربع حوار مشروط علي سطح مكتب غير تفاعلي. ولذلك ، يتوقف مؤشر الترابط عن الاستجابة (يتعطل) بشكل غير محدود. علي الرغم من ان بعض ممارسات الترميز يمكن ان تساعد في تقليل احتمال هذه المشكلة ، الا انه لا يمكن لهذه الممارسات ان تمنع المشكلة بالبالكامل. هذه الحقيقة بمفرده تجعل تطبيقات Office من البيئة التي تعتمد علي الخادم وغير معتمده.

  • الرينترانسي والتوسع: يجب ان تكون مكونات الخادم الجانبية ومكونات COM متعددة المؤشرات لديها الحد الأدنى والانتاجيه العالية لعملاء متعددين. تكون تطبيقات Office في جميع النواحي المقابلة تماما. تطبيقات Office هي خوادم التنفيذ التلقائي المستندة إلى STA رينترانت التي تم تصميمها لتوفير الوظائف المتنوعة ولكنها لعميل واحد. توفر التطبيقات امكانيه التوسعة البسيطة كحل من جانب الخادم. بالاضافه إلى ذلك ، تتضمن التطبيقات حدودا ثابته للعناصر الهامه ، مثل الذاكرة. لا يمكن تغييرها عبر التكوين. أكثر اهميه ، فان التطبيقات تستخدم موارد عمومية مثل ملفات الذاكرة المعنونة ، والوظائف الاضافيه العمومية أو القوالب ، وخوادم التنفيذ التلقائي المشتركة. يمكن ان يحد هذا العدد من المثيلات التي يمكن تشغيلها في الوقت نفسه ويمكن ان يؤدي إلى ظروف تعارض إذا تم تكوين التطبيقات في بيئة متعددة العملاء. يحتاج المطورون الذين يخططون لتشغيل أكثر من مثيل واحد من اي تطبيق Office في الوقت نفسه إلى التفكير في "التجمع" أو سلسله الوصول إلى تطبيق Office لتجنب الديدلوكس المحتملة أو تلف البيانات.

  • المرونة والاستقرار: office 2000 و office XP و office 2003 و windows 2007 استخدم تقنيه Microsoft Windows INSTALLER (MSI) لاجراء التثبيت والإصلاح الذاتي للمستخدم النهائي. يوفر MSI مفهوم "التثبيت عند الاستخدام الأول". يسمح هذا بتثبيت الميزات أو تكوينها بشكل ديناميكي في وقت التشغيل للنظام ، أو غالبا لمستخدم معين. في بيئة من جانب الخادم ، يؤدي هذا الأمر إلى إبطاء الأداء وزيادة احتمال ظهور مربع حوار يطلب من المستخدم الموافقة علي التثبيت أو توفير قرص تثبيت. علي الرغم من ان هذا الأمر مصمم لزيادة مرونة Office كمنتج المستخدم النهائي ، الا ان تطبيق Office لقدرات MSI هو كونتيربرودوكتيفي في بيئة من جانب الخادم. بالاضافه إلى ذلك ، لا يمكن التاكد من استقرار Office بشكل عام عندما يقوم Office بتشغيله من جانب الخادم لأنه لم يتم تصميمه أو اختباره لهذا النوع من الاستخدام. قد يؤدي استخدام Office كمكون خدمه علي خادم الشبكة إلى تقليل استقرار ذلك الكمبيوتر ، التالي قد يؤدي إلى تقليل استقرار الشبكة بالبالكامل.

  • الأمان من جانب الخادم: لم يتم تخصيص تطبيقات Office للاستخدام من جانب الخادم. ولذلك ، لا تاخذ تطبيقات Office المشاكل المتعلقة بالأمان التي موزعه المكونات. لا يقوم Office بمصادقه الطلبات الواردة. لا يقوم Office أيضا بحمايتك من استخدام وحدات الماكرو من دون قصد ، أو من تشغيل خادم آخر قد يقوم بتشغيل وحدات الماكرو ، من التعليمات البرمجية من جانب الخادم. لا تفتح الملفات التي يتم تحميلها إلى الخادم من موقع ويب مجهول. بالاستناد إلى إعدادات الأمان التي تم تعيينها مؤخرا ، يمكن للخادم تشغيل وحدات الماكرو ضمن سياق النظام أو المسؤول باستخدام امتيازات كامله التالي يمكنه الاستفادة من الشبكة. بالاضافه إلى ذلك ، يستخدم Office مكونات من جانب العميل (مثل MAPI بسيطه و WinInet و مسدايب) التي يمكنها التخزين المؤقت لمعلومات مصادقه العميل بسرعة المعالجة. إذا كان Office يجري علي الخادم تلقائيا ، فقد يقوم مثيل واحد بخدمه أكثر من عميل واحد. إذا تم تخزين معلومات المصادقة مؤقتا لجلسة العمل هذه ، يمكن لعميل واحد استخدام بيانات الاعتماد المخزنة مؤقتا لعميل آخر. ولذلك ، قد يكتسب العميل أذونات الوصول غير الممنوحة عن طريق انتحال المستخدمين الآخرين.

بالاضافه إلى المشاكل التقنية ، يجب ان تاخذ في الاعتبار مشاكل في الترخيص. إرشادات الترخيص الحالية تمنع استخدام تطبيقات Office علي الخادم لطلبات عميل الخدمة ، ما لم يكن للعملاء نفسهم نسخ مرخصه من Office. باستخدام التنفيذ التلقائي من جانب الخادم لتوفير وظائف Office لمحطات العمل غير المرخصة بواسطة اتفاقيه ترخيص المستخدم النهائي (EULA). بالاضافه إلى هذه المشاكل ، قد تحدث أحدي الأخطاء الشائعة التالية عند محاولة أتمته Office server:

  • ترجع الدالة كريتيوبجيكت والدالة CoCreateInstance أحدي رسائل الخطا التالية لوقت التشغيل ولا يمكن بدء تشغيلها للتنفيذ التلقائي.

    الرسالة 1

    خطا وقت التشغيل ' 429 ': يتعذر علي مكون ActiveX إنشاء عنصر

    الرسالة 2

    خطا وقت التشغيل ' 70 ': تم رفض الاذن

    الرسالة 3

    CO_E_SERVER_EXEC_FAILURE (0x80080005): فشل تنفيذ الخادم

    الرسالة 4

    E_ACCESSDENIED (0x80070005): تم رفض الوصول

  • عند فتح مستند Office ، تظهر أحدي رسائل الخطا التالية.

    الرسالة 1

    خطا وقت التشغيل ' 5981 ' (0x800A175D): تعذر فتح مساحة تخزين الماكرو

    الرسالة 2

    خطا وقت التشغيل ' 1004 ': فشل الأسلوب ' ~ ' للعنصر ' ~ '

  • تتوقف الدالة كريتيوبجيكت والدالة CoCreateInstance عن الاستجابة ولا تنتهي ، أو تستغرق وقتا طويلا للعودة. في بعض الخوادم ، يكون الإنشاء سريعا ، ولكن تظهر أخطاء 1004 في سجل احداث Windows الذي يشير إلى انه تم إيقاف التطبيق.

  • تفشل بعض الدالات بشكل غير متوقع أو توقف عن الاستجابة لوجود تنبيه مستخدم أو مربع حوار آخر يتطلب انتباه المستخدم.

  • يؤدي تشغيل العديد من الطلبات أو اختبار الإجهاد إلى فشل التعليمات البرمجية أو توقفه عن الاستجابة أو تعطل عمليه إنشاء تطبيق Office أو إنهائه. عند حدوث ذلك ، اما ان العملية يتم تركها في الذاكرة ولا يمكن إنهاؤها ، أو ستفشل كل مثيلات التطبيق التي يتم تشغيلها تلقائيا من تلك النقطة.

قد تظهر مشاكل أو رسائل أخرى بالاضافه إلى تلك التي تم ادراجها هنا ، ولكن تحدث هذه المشكلات عاده نتيجة المشاكل الخمسة الرئيسية المذكورة سابقا في هذه المقالة. 

بدائل للتنفيذ التلقائي من جانب الخادم

توصي Microsoft بشده بان يجد المطورون بدائل للتنفيذ التلقائي ل Office إذا كانوا بحاجه إلى تطوير حلول من جانب الخادم. بما ان التغييرات التي تم اجراؤها علي "تكوين Office" غير كافيه لحل كل المشاكل ، وذلك بسبب القيود المفروضة علي تصميم Office. توصي Microsoft بقوة مع عدد من البدائل التي لا تتطلب تثبيت Office من جانب الخادم ، ويمكنه تنفيذ المهام الأكثر شيوعا بشكل أكثر فعاليه وأكثر سرعه من التنفيذ التلقائي. قبل ان تقوم بتضمين Office كمكون من جانب الخادم في مشروعك ، خذ في الاعتبار البدائل. تتضمن معظم مهام التنفيذ التلقائي من جانب الخادم إنشاء المستندات أو تحريرها. يعتمد Office 2007 تنسيقات ملفات Open XML الجديدة التي تتيح للمطورين إنشاء محتوي الملف وتحريره وقراءته وتحويله علي جانب الخادم. تستخدم تنسيقات الملفات هذه مساحة اسم System.IO.Package.IO في Microsoft .net 3. x Framework لتحرير ملفات Office بدون استخدام تطبيقات عميل Office نفسها. هذا هو الأسلوب المستحسن والمعتمد لمعالجه التغييرات علي ملفات Office من خدمه. تعتبر تنسيقات ملفات Open XML قياسيه عامه. 

توفر Microsoft SDK لمعالجه تنسيقات ملفات Open XML من .NET 3. لمزيد من المعلومات حول SDK وحول كيفيه استخدام SDK لإنشاء ملفات Open XML أو تحريرها ، يمكنك زيارة مواقع الويب التالية الخاصة بمطوري Microsoft (MSDN):

فتح وثائق XML SDK

كيفيه القيام بالتالي: التعامل مع مستندات تنسيقات Office Open XML

التعامل مع ملفات Word 2007 باستخدام نموذج كائن XML المفتوح (الجزء 1 من 3)

التعامل مع ملفات Word 2007 باستخدام نموذج كائن XML المفتوح (الجزء 2 من 3)

التعامل مع ملفات Word 2007 باستخدام نموذج كائن Open XML (الجزء 3 من 3)

التعامل مع ملفات Excel 2007 و PowerPoint 2007 مع نموذج كائن Open XML (الجزء 1 من 2)

التعامل مع ملفات Excel 2007 و PowerPoint 2007 مع نموذج كائن Open XML (الجزء 2 من 2)

إنشاء حلول لإنشاء مستند من جانب الخادم باستخدام نموذج كائن Open XML (الجزء 1 من 2)

إنشاء حلول لإنشاء مستند من جانب الخادم باستخدام نموذج كائن Open XML (الجزء 2 من 2)

عندما تقوم بتدفق ملفات XML من ASP أو من ASP.NET ، يجب عليك توفير نوع ملحق بريد الإنترنت متعدد الأغراض (MIME) الصحيح للمحتوي الذي تقوم بدفقه. للحصول علي قائمه بأنواع MIME لملفات Office 2007 ، قم بزيارة موقع الويب التالي:

أنواع MIME لتنسيق ملفات Office 2007 لتدفق محتوي HTTP

إذا كنت تقوم باستهداف عملاء الإصدارات السابقة من Office 2007 فقط ، ولم تكن تريد المطالبة باستخدام Open XML في الحل ، فبامكانك استخدام تنسيقات ملفات Office غير الثنائية الأخرى ، مثل HTML و XML و RTF. يمكنك عندئذ نقل هذه الملفات إلى عميل باستخدام نوع MIME بحيث يظهر النص الناتج في Office. يمكن تحرير المستند وحفظه وحتى اعادته إلى الخادم باستخدام ASP علي الخادم. للحصول علي مزيد من المعلومات حول اي من هذه المواضيع ، وللحصول علي أمثله تظهر كيفيه تنفيذها ، انقر فوق أرقام المقالات التالية لعرض المقالات في قاعده معارف Microsoft:

198703 كيفيه القيام بالتنفيذ التلقائي ل Excel من برنامج VBScript من جانب العميل

278973 اكسسيلادو يوضح كيفيه استخدام ADO لقراءه البيانات وكتابتها في مصنفات Excel

286023 كيفيه استخدام مكون VB ActiveX ل Word automation من Internet Explorer  

إذا كانت شركتك تتطلب الإنشاء من جانب الخادم لتنسيقات الملفات الثنائية ل Office 97 و Office 2000 و Office XP و Office 2003 ، فان الموردين التابعين لجهة خارجيه يعرضان المكونات التي يمكن ان تساعدك. لا توفر Microsoft هذه المكونات ، التالي ستحتاج إلى إنشاء حل لنفسك أو شرائه من مورد تابع لجهة خارجيه. تتوفر العديد من منتجات الجهات الخارجية المختلفة. ينبغي عليك الاستقصاء عن كل حل لمطابقه المورد إلى احتياجات شركتك.

إذا أردت إنشاء حل خاص بك يقوم بتحرير تنسيقات الملفات الثنائية ل Office 97 و Office 2000 و Office XP و Office 2003 مباشره ، فيمكنك الحصول علي مواصفات تنسيق الملفات مجانا ضمن شروط التعهد بالمواصفات المفتوحة (أوسب). لا يتوفر الدعم التقني للوثائق أو المنتجات التي تقوم بإنشاءها ، ولكن تتوفر الوثائق. 

قد تحتاج الحلول من جانب الخادم أيضا إلى السماح للمستخدمين بتحميل الملفات ، ومن ثم يعرض الخادم الملفات لعرضها علي الويب أو علي ميديومس الأخرى. تعمل Microsoft حاليا لتقديم هذه الميزات ، وتوفر لك إصدارا مبكرا من هذه الامكانيه في Microsoft Excel Services. Excel Services تقنيه جديده للخادم مضمنه في Microsoft Office SharePoint Server 2007 والتي تمكنك من تحميل مصنفات Excel وحسابها وعرضها علي Office SharePoint Server 2007. للحصول علي مزيد من المعلومات حول Excel Services ، تفضل بزيارة مواقع ويب التالية لمطوري Microsoft (MSDN):

نظره عامه حول Excel Services

إرشادات تفصيليه: تطوير تطبيق مخصص باستخدام Excel Web Services

إنشاء تطبيقات الاعمال باستخدام تنسيقات Excel Services و Office Open XML تعد "الخدمات اليه من Word" تطبيق خدمه جديدا في SharePoint Server 2010. توفر "الخدمات اليه من Word" تحويلا من جانب الخادم للمستندات إلى تنسيقات معتمده من قبل تطبيق عميل Microsoft Word.

نظره عامه حول الخدمات اليه في Word

تقديم خدمات التنفيذ التلقائي ل Word تحتاج إلى تقييم اي من الخيارات الموضحة في هذه المقالة التي تناسب احتياجاتك ، والطريقة الأفضل لنشر الحل. لا تضمن المعلومات التي توفرها هذه المقالة حل كل المشاكل لكل العملاء. من المستحسن اختبار الحل الخاص بك بدقه قبل نشر الحل.

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

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

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×