Dynamics CRM 2011用のPluginRegistrationTool をコンパイルして exe を作成する手順。PluginRegistrationTool を使用してプラグインを実際に登録する手順の覚書を記載します。MSDNにもチュートリアルが掲載されているので、リンクを紹介します。

チュートリアル: プラグイン登録ツールを使用したプラグインの登録
http://msdn.microsoft.com/ja-jp/library/gg309580.aspx
Using the Plug-in Registration Tool for Microsoft Dynamics CRM 2011
http://msdn.microsoft.com/en-us/library/hh237515.aspx

動作確認環境は次の通り

  • Windows Server 2008 R2 上に構築した Dynamics CRM 2011 UpdateRollup5 オールインワン環境
  • PluginRegistrationTool ビルド環境はVisual Studio 2010 Professional
  • 実行するユーザはDynamics CRM 2011 の展開管理者に所属している

プラグイン登録ツールでプラグインアセンブリを登録する場合、展開管理者のメンバーになっている必要があります。Sandbox環境で動作するプラグインを登録する場合は、展開管理者ではなく、対象の組織のシステム管理者セキュリティーグループに所属していれば登録を行えます。登録のさいに必要となる権限の詳細は下記URLを参照してください。

プラグインの登録および展開(のセキュリティ制限)
http://msdn.microsoft.com/ja-jp/library/gg309620.aspx#bkmk_securityrestrictions

PluginRegistrationTool は、Dynamics CRM 2011 SDKにソースコードとして付属されています。Visual Studio 2010でビルドする場合は、Windows Identity Foundation が必要です。インストールされていない場合は下記リンクからダウンロードしてインストールしてください。

Windows Identity Foundation - 日本語
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=EB9C345F-E830-40B8-A5FE-AE7A864C4D76&displaylang=ja

1. PluginRegistrationToolのコンパイル

PluginRegistrationToolはソリューションとしてSDKに付属しています。sdk\tools\pluginregistrationフォルダにある、pluginregistrationtool.slnをVisual Studio 2010 で開きます。ソリューションを開いたらビルドを行います。コンパイルできない場合は、Windows Identity Foundation をインストールし忘れていないか確認してください。

2. プラグインの登録

ビルドしたPluginRegistrationTool をダブルクリックして、起動します。下図画面が表示されます。ツールバーの Create New Connectionをクリックします。

下図左側のようにConnections 画面が表示されます。Labelの接続設定の名前を入力します。Discovery URL は OnPremiseの場合はhttp://crmsvr01/ のようにCRMサーバーのURLを指定します(探索サービスをCRMサーバーとは別のサーバーで動作させている場合はそのサーバーを指定します)。アジアのCRM Onlineの場合は、https://dev.crm5.dynamics.comです。User Name は接続に使用するユーザアカウントを指定します(CRM Online の場合は LiveID)。Connect ボタンをクリックすると資格情報を入力する画面が表示されるので、そちらでユーザアカウントを入力するのでブランクでも問題ありません。実行しているユーザの資格情報を使用して接続を行う場合は Use Saved Credentials にチェックをします。Connect ボタンをクリックします。

 

資格情報を入力する画面が表示されます。アカウントとパスワードを入力します。

認証が成功すれば下図のように組織名の一覧が表示されます。接続する組織を選択して Connect ボタンをクリックします。

プラグイン情報が右側に表示されます。

プラグイン用のアセンブリを登録します。タブ内のメニューのRegister から Register New Assembly をクリックします。 

プラグインアセンブリの登録画面が表示されます。 Step #1 でプラグインのアセンブリを選択します。Step #3 でデプロイ先を Sandbox(分離モード)が、None(非分離モード)かを選択します。アセンブリ単位でSandbox環境で動作するか否かを選択することになります。 Step #4 はデプロイ先を選択します。推奨通り Databaseを選択しています。必要な設定をした後、 Register Selected ボタンをクリックします。

アセンブリの登録が成功すると 下図のようにダイアログが表示されます。

登録したプラグインが組織のプラグイン情報用のタブに表示されるようになります。今回は SimplePluginが登録されました。

 登録済みのプラグインのアセンブリを更新する場合はアセンブリを右クリックして表示されるコンテキストメニューからUpdateをクリックします。

プラグイン用のアセンブリを登録した後は、どのエンティティの何のメッセージでプラグインが起動するかを設定する必要があります。 下図のようにプラグインのクラスを選択して、右クリック→ Register New Step をクリックします。

Register New Step ダイアログ画面が表示されます。下図では、取引先企業(account)の作成(Createメッセージ)でプラグインが起動するように設定してます。プラグインの起動するStageは Pre-operation,同期的に起動するようにしています。 Unsecure Configration, Secure Configuration に設定した文字列はプラグインのコンストラクタに渡される情報になります。Register New Step ボタンをクリックして登録を確定します。イベントパイブラインの説明はイベント実行パイプラインを参照してください。

下図の赤枠のようにプラグインの起動設定が表示されます。プラグインの軌道設定はダブルクリックして編集できます。

以上で登録の設定は完了です。今回記載したこと以外に、Imageの登録設定などほかにもいろいろできるようになっています。細かいプラグインのステップの設定項目の情報はUsing the Plug-in Registration Tool for Microsoft Dynamics CRM 2011を参照してください。