設置型として展開するプラグインの登録
プラグインとユーザー定義ワークフロー活動は、Dynamics 365 Customer Engagement (on-premises) の既存の機能を拡張するために作成するカスタム コードです。 プラグインまたはユーザー定義のワークフロー活動を使用できるようにするには、その前に、サーバーに登録する必要があります。 プラグインとカスタム ワークフロー活動の登録ツールをダウンロードできます。
プラグインおよびカスタム ワークフロー アセンブリの登録に関する一般的な情報は、アプリ用 Dataverse のトピック プラグインの登録 および アセンブリの登録 にあります。 下記の情報は設置型プラグインの開発に特有のものです。
このトピックでは主にプラグインを扱いますが、ほとんどの内容はユーザー定義のワークフロー活動にも当てはまります。 これら 2 つの違いの 1 つが、ユーザー定義ワークフロー活動アセンブリでは、アセンブリのみを登録することです。 プラグインの場合は、プラグイン アセンブリと、プラグインあたり 1 つ以上のステップを登録します。 ユーザー定義のワークフロー活動の詳細については、「ユーザー定義ワークフローの活動 (ワークフロー アセンブリ)」を参照してください。
重要
信頼できるソースから取得したプラグインまたはユーザー定義ワークフロー活動以外は登録しないでください。
プラグインの保存
オンプレミスの展開の場合、サンドボックス内に登録されていないプラグインは、 Dynamics 365 Server のデータベース、または ディスク上 のファイル システムに保存できます。 運用の準備ができているプラグインは、ディスク上ではなく Dynamics 365 Customer Engagement (on-premises) データベースに保存することを強くお勧めします。 データベースに保存されたプラグインは、データ センター クラスター内の複数の Dynamics 365 Server に自動的に配布されます。 ディスク上へのプラグインの保存は、Visual Studio を使用してプラグインをデバッグするときに便利です。 ただし、データベースに格納されているプラグインをデバッグできます。 詳細については、「プラグインのデバッグ」を参照してください。
サンドボックスに登録されたプラグインは、Dynamics 365 Customer Engagement (on-premises) の展開 (設置型、IFD、またはオンライン) に関係なく、データベースに格納する必要があります。
展開
オンプレミスのインストールまたはインターネットに接続する (IFD) Dynamics 365 Customer Engagement (on-premises) インストールの場合は、プラグインを別のコンピューターから Dynamics 365 Server のディスクに展開するときに (ディスク上の展開)、プラグイン アセンブリをサーバーに手動でコピーしてから、プラグインを登録する必要があります。 プラグインを実行する各サーバー上の <installdir>
\Program Files\Microsoft CRM\server\bin\assembly フォルダーに、アセンブリを展開する必要があります。
システム ユーザーが Dynamics 365 Customer Engagement (on-premises) でイベントを発生させたときに、登録プラグイン アセンブリがサーバー上に存在していないという状況を防ぐため、アセンブリをサーバーの …\bin\assembly フォルダーにコピーしてからプラグインを登録します。 サーバー データベースに展開する場合、プラグイン アセンブリはプラグイン登録中に自動的にコピーされるので、このような問題が発生することはありません。
プラグインの設計によっては、プラグインのために他の参照アセンブリを実行することが必要になる場合があります。 プラグインをデータベースとディスクのどちらに展開するかに関係なく、プラグインで他のアセンブリを実行する必要がある場合は、そのアセンブリのコピーをプラグインが実行される、各サーバーのグローバル アセンブリ キャッシュに置く必要があります。
プラグインを開発環境からステージング サーバーまたは運用サーバーに移動するには
- 開発用コンピューターで、プラグイン コードをビルドします。 デバッグ情報は含めません。 プラグインのパフォーマンスを最適化します。
- プラグインを Dynamics 365 Server データベースに登録します。
- Dynamics 365 Customer Engagement (on-premises) Web アプリケーションを使用して、ソリューションを作成するか、既存のものを使用し、プラグインをそのソリューションに追加します。
- 他の必要なコンポーネントをソリューションに追加した後で、ソリューションをエクスポートします。
- ソリューションをステージング サーバーまたは運用サーバーにインポートします。
セキュリティ制限
セキュリティ制限を設定して、権限のあるユーザーだけがプラグインを登録できるようにすることができます。サンドボックス (分離) で登録されていないプラグインの場合は、プラグインの登録を行うシステム ユーザー アカウントが、展開マネージャーの 展開管理者 グループに含まれている必要があります。 システム管理者ユーザー アカウントまたは展開管理者グループに含まれているユーザー アカウントだけが展開マネージャーを実行できます。
重要
分離されていないプラグインの場合、登録を行うユーザー アカウントが展開管理者グループに含まれていないと、プラグイン登録中に例外がスローされます。 例外には "SDK エンティティで作成操作を実行するための権限がありません" と示されます。
サンドボックス (分離モード) で登録されているプラグインの場合は、プラグインの登録を行うシステム ユーザー アカウントにシステム管理者ロールが必要です。 展開管理者グループのメンバーシップは必要ありません。
関連項目
プラグインの開発
プラグインのデバッグ
Dynamics 365 Customer Engagement (on-premises) ソリューションを使用した拡張機能のパッケージ化および配布