Heute zur Abwechslung mal kein SharePoint, sondern Microsoft Dynamics CRM 2013. In einem aktuellen Projekt habe ich gerade ein Plug-In entwickelt, welches eine kundenspezifische Lösung für den Umgang mit Rechnungsdaten zur Verfügung stellt. Die Entwicklung als solches fand ich nicht so komplex, dafür die Vorbereitungen umso mehr. Dies vor allem deshalb, weil ich auch im Netz keine halbwegs komplette Anleitung dazu gefunden habe. Dieser Blog soll dies nun versuchen.

Meine Entwicklungsumgebung ist Visual Studio 2013, welche nicht auf dem CRM Server, sondern auf einer separaten Windows 8.1 Maschine läuft. Das Microsoft Dynamics CRM 2013 hat den aktuellsten Patchstand und ist noch in keiner Weise konfiguriert. Zur Unterstützung im Visual Studio soll mit dem CRM Developer Toolkit gearbeitet werden. (1)

Software installieren

Das erste Problem gibt es beim Developer Toolkit. Das geht ja schon mal prima los. Dieses unterstützt, trotz der 2013 in seinem Namen, Visual Studio 2013 nicht. Es besteht auf Visual Studio 2012. Dieses möchte ich aber ungern installieren. Damit bin ich nicht alleine und jemand hat tatsächlich eine Möglichkeit gefunden, das CRM Developer Toolkit 2013 in Visual Studio 2013 zu integrieren. Eine Anleitung findet sich unter (2). Damit geht es zum Server.

Auf diesem sollt nun .NET 4.5 installiert werden. Wenn man erfolgreich sein Plug-In entwickelt hat und dieses auf dem Server bereitstellen möchte, droht das nächste Ungemach. Zum Registrieren des Plug-Ins auf dem Server stellt Microsoft das PlugIn Registrations Tool bereit. Es befindet sich mit anderen Tools zusammen im SDK. Allerdings ist es mir nicht gelungen das aktuelle Tool zum laufen zu bekommen. Mehrere Maschinen, mehrere Konten, es stürzte immer an der gleichen Stelle nachvollziehbar ab. In solch einem Fall hilft nur der Versuch mit einer früheren Version, doch woher bekommen? Microsoft stellt diese nicht mehr zur Verfügung. Zum Glück gibt es aber Jäger und Sammler, hier findet man das Tool in einer alten Version (6.0.4), welches bei mir wunderbar funktioniert hat (3).

Microsoft Dynamics CRM 2013 Server einrichten

Bevor es losgehen kann mit der Registrierung des Plug-Ins sollten noch einige Einstellungen auf dem Server vorgenommen werden. Zuerst sollte geprüft werden, ob überhaupt fremder Code ausgeführt werden darf. Dies ist zwar standardmäßig der Fall, aber man weiß ja nie. Das folgende PowerShell Script unter (4) hilft da weiter und gibt auch noch mehr Hinweise.

Falls der Code Probleme macht, sollte man das Tracelog einschalten. Dieses ist standardmäßig deaktiviert. Eine Anleitung dazu findet sich hier (5). Achtung: Es muss immer die Eigenschaft

$setting.Directory=“C:\Programme\Microsoft Dynamics CRM\Trace“

gesetzt werden. Mit der schon vorhandenen Standardeinstellung habe ich das Trace nicht zum laufen gebracht.

Plug-In registrieren

Sind alle Aufgaben erfüllt, kann das Plug-In endlich registriert werden. Diesen Vorgang führe ich auf meiner Entwicklungsmaschine aus, welche natürlich eine Verbindung zum CRM Server hat. Ich habe dazu im PlugIn Registrations Tool eine Verbindung hergestellt, was ich hier nicht näher beschreibe. Die Assembly liegt im /bin Ordner des Visual Studio Projektes. Diese wird zuerst registriert.


Darauf achten, dass die Assembly in der Datenbank landet und nicht in einer Sandbox.


Danach läuft der Code aber noch nicht. Es muss noch mitgeteilt werden, bei welcher
Aktion und bei welcher Entität der Code starten soll. Dazu muss ein Step registriert werden.

In meinem Fall soll auf das Update Ereignis in einer Rechnung synchron reagiert werden.

Ein Blick zur Kontrolle

Noch ein Hinweis zum Schluß: Wenn man die Assembly via E-Mail auf dem Liveserver kopiert, so wie ich es gemacht habe, kann diese zuerst nicht registriert werden. .NET ist der Meinung, solcher Code ist unsicher und erlaubt die Aufführung nicht. Dies kann behoben werden, indem man sich im Dateisystem die Eigenschaften der Datei anzeigen lässt und die Ausführung zulässt.

 

Ich hoffe einigen mit diesen Hinweisen weiter geholfen zu haben. Der Kurzlink zu diesem Beitrag ist http://wp.me/p4y7ta-3N.

  1. http://www.microsoft.com/en-us/download/details.aspx?id=40321
  2. http://torsteinutne.com/2014/03/24/getting-the-crm-developer-toolkit-to-work-with-visual-studio-2013/
  3. https://onedrive.live.com/?cid=e4b83260b94d4158&id=E4B83260B94D4158!1387&ithint=folder,.exe&authkey=!ALuzupR9uXK3iII
  4. http://msdn.microsoft.com/en-us/library/gg328153.aspx
  5. http://support.microsoft.com/kb/907490

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular.

Sie wollen mehr über mich erfahren? Dann gehen Sie auf meine Site
http://www.nicothiemer.de

Nico Thiemer

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s