نشر الحزم باستخدام Dynamics CRM Package Deployer وWindows PowerShell

 

تاريخ النشر: جمادى الأولى, 1438

ينطبق على: Dynamics 365 (online)، Dynamics 365 (on-premises)، Dynamics CRM 2016، Dynamics CRM Online

ملاحظة

إن المعلومات المقدمة هنا هي إصدارات Dynamics 365قبل Dynamics 365 (عبر الإنترنت)، الإصدار 9.0. للحصول على أحدث الوثائق، راجع ‬‏‫نشر الحزم باستخدام Dynamics CRM Package Deployer وWindows PowerShell‬‏‫.

يمكّن Microsoft Dynamics CRM Package Deployer المسؤولين من توزيع الحزم على مثيل Dynamics 365 (محلي) أو Microsoft Dynamics 365 (على الإنترنت). يمكن أن تتكون "المجموعة" من أي من أو كل الإجراءات التالية:

  • ملف حلول Dynamics 365 واحدًا أو أكثر.

  • ملفات ثابتة أو ملفات بيانات تم تصديرها من أداة ترحيل التكوين. لمزيد من المعلومات عن أداة ترحيل التكوين، راجع إدارة بيانات التكوين.

  • يتم نشر التعليمات البرمجية المخصصة التي يمكن تشغيلها أثناء أو بعد الحزمة إلى Microsoft Dynamics 365.

  • محتوى HTML المحدد للحزمة والذي يمكن عرضه في بداية ونهاية عملية نشر الحزمة. قد يكون ذلك الأمر مفيداً لتوفير وصف للحلول والملفات التي يتم نشرها في الحزمة.

يقوم المطورون بإنشاء الحزم باستخدام قالب نشر الحزمة في Microsoft Visual Studio.مزيد من المعلومات: MSDN: إنشاء الحزم لأداة CRM Package Deployer

بعد إنشاء حزمة، يمكنك نشرها إما عن طريق تشغيل أداة نشر الحزمة لـ CRM أو باستخدام Windows PowerShell cmdlets للأداة.

هام

قبل استيراد حزمة في مؤسسة إنتاج وتشغيلها، اختبر الحزمة على صورة طبق الأصل بدون إنتاج لمؤسسة الإنتاج.

احرص دائمًا على عمل نسخة احتياطية لمؤسسة الإنتاج قبل نشر حزمة.

في هذا الموضوع

نشر الحزم باستخدام أداة نشر الحزمة

استخدام Windows PowerShell لنشر الحزم

استكشاف مشكلات نشر الحزمة وإصلاحها باستخدام ملفات السجل

‏‫أفضل الممارسات لنشر الحزم

نشر الحزم باستخدام أداة نشر الحزمة

يمكنك استخدام أداة نشر الحزمة (packagedeployer.exe) لنشر حزم بالطرق التالية.

استخدام أداة نشر الحزمة لنشر الحزم

استخدم أداة نشر الحزمة في سطر الأوامر

استخدام أداة نشر الحزمة لنشر الحزم

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

  1. قم بالحصول على الحزمة لنشرها. الحزمة عبارة عن مجموعة من الملفات والمجلدات التي تم إنشاؤها في مجلد مشروع Visual studio الخاص بك (< المشروع >\Bin\Debug) عند قيامك بإنشاء المشروع الخاص بك في Visual Studio. انسخ ما يلي من مجلد تصحيح المشروع الخاص بك:

    • < اسم الحزمة > مجلد: يحتوي هذا المجلد على الحلول، قم باستيراد التكوين ومحتويات الحزمة الخاصة بك.

    • < اسم الحزمة >.dll: التجميع الذي يحتوي على التعليمات البرمجية للحزمة الخاصة بك. يكون اسم التجميع بشكل افتراضي هو نفس اسم مشروع Visual Studio الخاص بك.

    للحصول على معلومات مفصلة حول إنشاء حزمة باستخدام Visual Studio، راجع MSDN: إنشاء حزمة لأداة Package Deployer.

    بالنسبة لهذا الموضوع، لنفترض أن مجلد الحزمة والتجميع من مجلد تصحيح المشروع Visual Studio (<المشروع>\Bin\Debug) يتم نسخها إلى مجلد c:\DeployPackage.

  2. تنزيل Microsoft Dynamics CRM SDK ثم قم بتشغيل الملف القابل للتنفيذ الذي تم تنزيله لاستخراج محتويات الحزمة..

  3. استعرض إلى المجلد SDK\Tools\PackageDeployer وانسخ مجلد الحزمة والتجميع من c:\DeployPackage إلى المجلد SDK\Tools\PackageDeployer.

  4. وبعد نسخ الملفات، قم بتشغيل الأداة من خلال النقر بشكل مزدوج فوق ملف PackageDeployer.exe في المجلد SDK\Tools\PackageDeployer.

  5. انقر فوق متابعة في الشاشة الرئيسية للأداة.

  6. في الشاشة اتصال بـ Microsoft Dynamics 365 قم بتوفير تفاصيل المصادقة للتوصيل بخادم Dynamics 365 الخاص بك حيث تريد توزيع الحزمة. إذا كان لديك مؤسسات متعددة، وترغب في تحديد المؤسسة حيث تريد نشر الحزمة، فحدد خانة الاختيار عرض قائمة المؤسسات المتوفرة دائمًا. انقر فوق تسجيل الدخول.

  7. إذا كان لديك مؤسسات متعددة على خادم Dynamics 365 الخاص بك، فحدد مؤسسة Dynamics 365 للاتصال بها.

  8. حدد الحزمة لنشرها، انقر فوق التالي.

    Select your package in the Package Deployer Tool

  9. واتبع الإرشادات على الشاشات اللاحقة لإكمال نشر الحزمة الخاصة بك.

    وتظهر الشاشات استناداً إلى تعريف الحزمة المحددة للنشر. للنشر المتكامل للحزمة التي تستخدم أداة نشر الحزمة، شاهد الموضوع الخاص بنشر حزم Unified Service Desk: نشر عينة تطبيقات Unified Service Desk إلى CRM Server باستخدام Package Deployer

استخدم أداة نشر الحزمة في سطر الأوامر

باستطاعة المسؤولين عن النظام والمخصصين تمرير المعلمات، مثل تعليمة برمجية لغة إقليمية، إلى packagedeployer.exe من سطر الأوامر. لا يمكن تكوين هذه المعلمات إلا بتشغيل أداة نشر الحزمة في سطر الأوامر.

ملاحظة

تم تقديم هذه الميزة للمرة الأولى في التحديث رقم 0.1 لـ Microsoft Dynamics CRM Online 2016.

يتضمن هذا الجدول المعلمات المتوفرة.

المعلمة‬

الوصف

القيمة الافتراضية

RuntimePackageSettings

ترشد packagedeployer.exe إلى قبول معلمات سطر الأوامر مثل LCID وSkipChecks.

غير قابل للتطبيق

LCID=localeID

تعيّن معرف الإعدادات المحلية، مثل 1033 للغة الإنجليزية-الولايات المتحدة أو 1036 للغة الفرنسية-فرنسا من معرفات الإعدادات المحلية المتوفرة في الحزمة. إذا لم يتم تحديدها، فيتم استخدام اللغة الافتراضية.

استخدام اللغة الافتراضية

SkipChecks=true/false

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

خطأ

المثال التالي يرشد أداة نشر الحزمة لـ CRM لتجاوز بعض اختبارات السلامة ويقوم بتعيين لغة الاستيراد إلى اللغة البولندية.

packagedeployer.exe /Settings:"SkipChecks=true|lcid=1045"

ملاحظة

استخدم حرف التوجيه | لفصل المعلمات عند تشغيل packagedeployer.exe في سطر الأوامر باستخدام عدة معلمات.

لمزيد من المعلومات حول المعلمات والقيم التي يمكن تمريرها إلى packagedeployer.exe، راجع MSDN: إنشاء حزم لأداة CRM Package Deployer.

استخدام Windows PowerShell لنشر الحزم

يوفر أداة نشر الحزمة أيضًا دعم Windows PowerShell لنشر حزم.

قم بتنفيذ الخطوات التالية لاستخدام PowerShell cmdlets لنشر الحزم:

المتطلبات المسبقة

تسجيل أوامر cmdlets

استخدام cmdlet لاسترداد الحزم

استخدام cmdlet للاتصال بمثيل Dynamics 365 الخاص بك

استخدام cmdlet لنشر الحزم

الحصول على تعليمات مفصلة حول cmdlets

المتطلبات المسبقة

فيما يلي المتطلبات الأساسية لاستخدام PowerShell cmdlet:

  • ويتطلب الحصول على إصدار 3.0 أو أحدث من PowerShell لنشر الحزمة باستخدام PowerShell. للتحقق من إصدار PowerShell، قم بتشغيل نافذة PowerShell ، ومن ثم تشغيل الأمر التالي: $Host.

  • قم بتعيين نهج التنفيذ لتشغيل البرامج النصية لـ PowerShell المسجَّلة. للقيام بذلك، قم بتشغيل النافذة‬ PowerShell كمسؤول، ثم قم بتشغيل الأمر التالي: Set-ExecutionPolicy -ExecutionPolicy AllSigned

تسجيل أوامر cmdlets

يجب عليك تسجيل Windows PowerShell cmdlets لـ أداة نشر الحزمة قبل أن تتمكن من استخدامه. لتسجيل أوامر cmdlets:

  1. إذا لم تكن قد فعلت ذلك بالفعل، قم بتنزيل حزمة Dynamics 365 SDKمن مركز التنزيل لـ Microsoft، وتشغيل ملف الحزمة لاستخراج محتويات الحزمة. لنفترض أنك قمت باستخراج الحزمة إلى المجلد c:\CRM على الكمبيوتر الخاص بك. يصبح أداة نشر الحزمة والملفات الموجودة الأخرى متوفرة في المكان التالي: c:\CRM\SDK\Tools\PackageDeployer.

  2. قم ببدء تشغيل Windows PowerShell على جهاز الكمبيوتر الخاص بك مع الامتيازات العالية (تشغيل كمسؤول).

  3. في الموجه في النافذة Windows PowerShell، قم بتغيير الدليل إلى المجلد Windows PowerShell ضمن المجلد PackageDeployer. وفي هذه الحالة:

    cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
    
  4. قم بتشغيل البرنامج النصي RegisterXRMTooling.ps1 لتسجيل مجموعة Package Deployer Windows PowerShell(dll)، وتثبيت الأداة الإضافية Windows PowerShell لـ أداة نشر الحزمة. للقيام بذلك، اكتب الأمر التالي، واضغط مفتاح الإدخال ENTER:

    .\RegisterXRMTooling.ps1
    
  5. قم بإضافة Windows PowerShell للأدوات XRM. وسوف يقوم هذا بتسجيل cmdlets التالية: Get-CrmConnection وGet-CrmOrganizations.

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    
  6. قم بإضافة Windows PowerShell الإضافية لـ Package Deployer. وسوف يقوم هذا بتسجيل cmdlets التالية: Get-CrmPackages وImport-CrmPackage.

    Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
    

وأنت الآن جاهز لاستخدام هذه Windows PowerShell cmdlets. ولسرد cmdlets الذي قمت بتسجيلها، قم بتشغيل الأمر التالي في الموجه في النافذة Windows PowerShell:

Get-Help “Crm”

استخدام cmdlet لاسترداد الحزم

قبل استخدام cmdlet، تأكد أنك قمت بنسخ الحزمة الخاصة بك إلى المجلد PackageDeployer (في هذه الحالة، c:\CRM\SDK\Tools\PackageDeployer). الحزمة عبارة عن مجموعة من الملفات والمجلدات التي تم إنشاؤها في مجلد مشروع Visual Studio الخاص بك (<Project>\Bin\Debug) عندما تقوم بإنشاء المشروع الخاص بك في Visual Studio. قم بنسخ المحتويات الكاملة لمجلد تصحيح المشروع الخاص بك إلى المجلد PackageDeployer‎. للحصول على معلومات تفصيلية حول إنشاء حزمة باستخدام Visual Studio، راجع MSDN: إنشاء الحزم لأداة CRM Package Deployer.

  1. في النافذة PowerShell استخدم cmdlet التالية لإرجاع قائمة بالحزم المتوفرة للاستيراد في المجلد المحدد (في هذه الحالة، c:\CRM\SDK\Tools\PackageDeployer):

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
    
  2. إذا كنت تريد معلومات حول حزمة ما في مجلد، يمكنك استخدام Get-CrmPackages cmdlet جنبا إلى جنب مع المعلمة –PackageName لتعيين اسم التجميع في المجلد الذي يحتوي على تعريف الحزمة.

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
    
  3. يمكن تخزين موقع تجميع الحزمة في متغير باستخدام الأمر Get-CrmPackages cmdlet. بعد ذلك يمكن إعادة استخدامه في Import-CrmPackage cmdlet لاستيراد قيمة للمعلمة PackageDirectory. على سبيل المثال، يمكنك تخزين المعلومات لإحدى الحزم أو أكثر التي تم إرجاعها من Get-CrmPackages cmdlet في متغير يسمى $MyPackages.

    $MyPackages = Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer 
    

    لعرض كافة الحزم.

    $MyPackages
    

    لعرض الحزمة الثالثة فقط.

    $MyPackages[2].PackageAssemblyLocation
    

    بعد ذلك، يمكنك عمل مرجع لكل حزمة في الصفيف من 0 إلى n. علىسبيل المثال، يقوم cmdlet هذا باستيراد الحزمة الأولى الموجودة في $MyPackages.

    Import-CrmPackage -CrmConnection $CRMConn -PackageDirectory $MyPackages[0].PackageAssemblyLocation
    

    ملاحظة

    تم تقديم معلمة PackageAssemblyLocation والقدرة على عرض موقع المجلد واسم الحزمة لأول مرة مع تحديث ديسمر 2016 لـ Dynamics 365 (على الإنترنت ومحلي).مزيد من المعلومات: Dynamics 365 SDK

استخدام cmdlet للاتصال بمثيل Dynamics 365 الخاص بك

  1. قم بتوفير بيانات الاعتماد الخاصة بك للاتصال بمثيل Microsoft Dynamics 365 (على الإنترنت) أو Dynamics 365 (محلي). سوف يطلب منك تشغيل الأمر التالي كتابة اسم المستخدم وكلمة المرور للاتصال بمثيل Dynamics 365، وسيتم تخزينها في المتغير $Cred، واستخدامها فيما بعد للاتصال بخادم Dynamics 365 الخاص بك.

    $Cred = Get-Credential
    
  2. واستخدم الأمر التالي للحصول على اتصال بمثيل Microsoft Dynamics 365 (على الإنترنت) أو Dynamics 365 (محلي). وسوف نقوم بتخزين معلومات الاتصال في المتغير $CRMConn:

    • إذا كنت تتصل بالمثيل Dynamics 365 (محلي):

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
      
    • إذا كنت تتصل بالخادم Microsoft Dynamics 365 (على الإنترنت):

      $CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred
      

      ملاحظة

      بالنسبة إلى المعلمة DeploymentRegion، القيم الصالحة هي NorthAmerica وEMEA وAPACSouthAmerica وOceania وJPN وNorthAmerica2. بالنسبة للمعلمة OnlineType، تكون المعلمات الصالحة هي Office365، وLiveID.

  3. ويتم التحقق من بيانات الاعتماد التي قمت بتوفيرها عند تشغيل الأمر في الخطوة 2.

استخدام cmdlet لنشر الحزم

بعد ذلك، استخدم معلومات اتصال Dynamics 365 المخزنة في المتغير $CRMConn لنشر الحزم إلى المثيل Dynamics 365. يعمل الأمر التالي على نشر حزمة، وتفكيك الحزمة في المجلد c:\UnpackedFiles، ويسجل المعلومات في ملف سجل في المجلد c:\MyLogFiles.

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -LogWriteDirectory C:\MyLogFiles -Verbose

ملاحظة

  • المعلمات CrmConnection، وPackageDirectory، و PackageName تكون مطلوبة.

  • بدلاً من تحديد مجلد الحزمة يدوياً، يمكنك استخدام متغير مع المعلمة PackageDirectory.مزيد من المعلومات: استخدام cmdlet لاسترداد الحزم

  • بالنسبة للمعلمة PackageName، فيجب عليك تحديد اسم التجميع الذي يحتوي على تعريف الحزمة.

  • ولا تحتاج إلى تحديد المعلمة UnpackFilesDirectory إذا كانت الحزمة لا تقوم بفك الملفات أثناء توزيع الحزمة. وأثناء قيامك بتحديد حزمة ما في Visual Studio، يمكنك تحديد ما إذا كان سيتم فك الملفات باستخدام المعلمة agentdesktopzipfile‎ في الملف ImportConfig.xml.مزيد من المعلومات: MSDN: إنشاء الحزم لأداة CRM Package Deployer

  • والمعلمة Verbose اختيارية، وتُستخدم لعرض سجل مفصل للأنشطة التي يتم إجراؤها أثناء عملية نشر الحزمة.

  • يمكن استخدام المعلمة الاختيارية RuntimePackageSettings مع المعلمات التالية:

    • تعيّن المعلمة LCID=localeID معرف الإعدادات المحلية، مثل 1033 للغة الإنجليزية-الولايات المتحدة أو 1036 للغة الفرنسية-فرنسا من معرفات الإعدادات المحلية المتوفرة في الحزمة. إذا لم يتم تحديدها، فيتم استخدام اللغة الافتراضية.

    • المعالج

      يجب استخدام المعلمة SkipChecks=true/false فقط عندما لا تتضمن البيئة المستهدفة أية حلول أو تخصيصات أخرى. عند تعيين هذه المعلمة إلى true، سيتجاوز استيراد الحل بعض اختبارات السلامة، مما يؤدي إلى تحسين أداء الاستيراد.

  • يجب أن يكون المجلد الذي تحديده عند استخدام المعلمة LogWriteDirectory موجودًا بالفعل، ويجب أن يكون لدى المستخدم الذي يقوم بتشغيل الأمر Import-CrmPackage cmdlet إذن الكتابة إلى المجلد. بالإضافة إلى ذلك، تكون معلمة Verbose- مطلوبة عند استخدام المعلمة LogWriteDirectory.

    تم تقديم المعلمة LogWriteDirectory لأول مرة مع تحديث ديسمر 2016 لـ Dynamics 365 (على الإنترنت ومحلي).مزيد من المعلومات: Dynamics 365 SDK

يستورد الأمر المثال التالي حزمة تسمى SampleCRMPackage ويعيّن اللغة الإنجليزية-الولايات المتحدة (1033) كلغة لاستيراد الحزمة.

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles –RuntimePackageSettings LCID=1033

الحصول على تعليمات مفصلة حول cmdlets

في النافذة PowerShell، استخدم Get-Help cmdlet باسم "cmdlet" لعرض تعليمات مفصلة عن cmdlet. على سبيل المثال، للحصول على تعليمات مفصلة حول Import-CrmPackage cmdlet:

Get-Help Import-CrmPackage -full

لعرض التعليمات عبر الإنترنت لأوامر cmdlets، راجع مرجع CRM PowerShell.

استكشاف مشكلات نشر الحزمة وإصلاحها باستخدام ملفات السجل

يوفر أداة نشر الحزمة دعم التسجيل للحصول على معلومات تفصيلية حول الأخطاء التي يمكن أن تحدث أثناء تسجيل دخول شخص ما إلى المثيل Microsoft Dynamics 365 باستخدام الأداة وتوزيع الحزم. افتراضيًا، تقوم الأداة بإنشاء ثلاثة ملفات تسجيل تكون متوفرة في الموقع التالي على الكمبيوتر حيث تقوم بتشغيل الأداة: c:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<الإصدار>. لتحديد مجلد آخر، استخدم معلمة LogWriteDirectory PowerShell cmdlet.مزيد من المعلومات: استخدام cmdlet لاسترداد الحزم

  • Login_ErrorLog.log: يوفر معلومات حول المشكلات التي حدثت عندما تستخدم الأداة لتسجيل الدخول إلى المثيل Dynamics 365. وإذا كان هناك أي مشكلات أثناء تسجيل الدخول، فستظهر رسالة على شاشة تسجيل دخول الأداة مع ارتباط إلى ملف السجل هذا. وتفيد الرسالة أنه حدث خطأ أثناء معالجة طلب تسجيل الدخول ويمكن للمستخدم عرض سجل الخطأ. يمكنك النقر فوق الارتباط الموجود في الرسالة لعرض ملف السجل هذا. يتم إنشاء ملف السجل في المرة الأولى لمواجهتك أية مشكلات خاصة بتسجيل الدخول في الأداة. ولذلك، يُستخدم ملف السجل لتسجيل المعلومات التي تخص المشكلات الخاصة بتسجيل الدخول، متى تحدث.

  • PackageDeployer.log: يوفر معلومات تفصيلية حول كل مهمة يتم تنفيذها في الأداة أثناء توزيع الحزم. يمكنك عرض ملف السجل من الأداة بالنقر فوق ارتباط عرض ملف السجل أسفل الشاشة.

  • ComplexImportDetail.log: يوفر معلومات إضافية حول البيانات التي تم استيرادها في آخر توزيع باستخدام الأداة. في كل مرة نشر حزمة باستخدام هذه الأداة، يتم نقل التفاصيل الموجودة من ملف السجل إلى ملف يسمى ComplexImportDetail._old.log في نفس الدليل، وملف ComplexImportDetail.log يعرض معلومات حول الاستيراد الأحدث الذي تم باستخدام الأداة.

‏‫أفضل الممارسات لنشر الحزم

أثناء نشر الحزم، يلزم على مسؤولي Dynamics 365 أن:

  • الإصرار على تجميع حزمة تم تسجيل دخولها بحيث يتمكن من تتبع تجميع ما إلى مصدره.

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

  • القيام بالنسخ الاحتياطي لمثيل الإنتاج قبل نشر الحزمة.

انظر أيضا

MSDN: إنشاء الحزم لأداة CRM Package Deployer
إدارة Dynamics 365

© 2017 Microsoft. جميع الحقوق محفوظة. حقوق النشر