Bodo's Dynamics NAV Blog
Bodo ist ein Dynamics NAV Urgestein. Er programmiert NAV seit DOS Zeiten und hat auch keine Scheu vor .NET. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu NAV Entwicklern ausgebildet. In diesem Blog veröffentlicht Bodo monatlich technische Kabinettstückchen aus der Welt von Dynamics NAV und .NET.Der NAV-Client versucht, eine externe Komponente auszuführen
Kennen Sie die in Microsoft Dynamics NAV 2009 R2 neue Warnmeldung „Der NAV-Client versucht, eine externe Komponente auszuführen“?

Offensichtlich hat Microsoft die Option „Zulassen und nicht mehr fragen“ nicht implementiert, so dass diese Warnmeldung jedes Mal aufs Neue erscheint. Ärgerlich. Frage: Warum ist diese Option nicht implementiert? Antwort: Weil diese Option überflüssig ist, wenn sich NAV Client und Dynamics NAV Server nur ausreichend vertrauen.
Mit Microsoft Dynamics NAV 2009 R2 wird einer neuer Datentyp „DotNet“ eingeführt. Mit Hilfe dieses Datentyps haben wir als NAV Entwickler eine elegante Möglichkeit, .NET-Assemblies in die C/AL Programmierung zu integrieren.
Bauen wir ein einfaches Beispiel und lassen uns den Maschinennamen mit Hilfe des Properties „MachineName“ der Klasse „System.Environment“ der Assembly „mscorlib“ anzeigen:
OBJECT Codeunit 50000 System Environment
{
OBJECT-PROPERTIES
{
Date=11.01.11;
Time=10:30:00;
Modified=Yes;
Version List=;
}
PROPERTIES
{
SystemEnvironment@1000000000 : DotNet "'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Environment";
MachineName@1000000001 : Text[30];
BEGIN
MachineName := SystemEnvironment.MachineName;
MESSAGE('MachineName = %1', MachineName);
END;
}
CODE
{
BEGIN
END.
}
}
Welcher Maschinenname wird angezeigt? Richtig! Der Name der Maschine, auf der der Dynamics NAV Server läuft und nicht der Name unseres NAV Clients.
Der Grund ist das Property „RunOnClient“ der DotNet-Variable „SystemEnvironment“. Dieses Property steht standardmäßig auf „No“, so dass die Codeausführung auf dem Dynamics NAV Server und nicht auf dem NAV Client läuft.
Ändern wir dieses Property auf „Yes“, läuft die Codeausführung auf dem NAV Client. Allerdings erst, wenn wir die Warnmeldung oben quittiert haben. Damit kommen wir auf unsere eigentliche Fragestellung zurück, wie wir diese Warnmeldung unterdrücken.
Die Lösung besteht darin, den NAV Client zu einer Kerberos-Authentifizierung anstelle einer NTLM-Authentifizierung gegenüber dem Dynamics NAV Server zu bewegen. Dazu öffnen wir die Konfigurationsdatei „ClientUserSettings.config“ für den NAV Client im Verzeichnis „C:\Users\<Benutzername>\AppData\Local\Microsoft\Microsoft Dynamics NAV“ (Hinweis: Das Verzeichnis „AppData“ wird standardmäßig nicht angezeigt. Der Verzeichnisname gilt nur für Windows 7 und Windows Server 2008 R2). Und ändern den Eintrag für „ServicePrincipalNameRequired“ von „false“ auf „true“. Damit vertrauen sich NAV Client und Dynamics NAV Server und die Warnmeldung wird nicht mehr angezeigt.
<configuration>
<appSettings>
<add key="Server" value="SPIDERMAN" />
<add key="ServerInstance" value="DynamicsNAV" />
<add key="ServerPort" value="7046" />
<add key="ProtectionLevel" value="EncryptAndSign" />
<add key="UrlHistory" value="" />
<add key="CompressionThreshold" value="64" />
<add key="ChunkSize" value="28" />
<add key="AllowNtlm" value="true" />
<add key="ServicePrincipalNameRequired" value="true" />
<add key="OpenConnectionTimeout" value="00:00:30" />
<add key="ClientCredentialType" value="Windows" />
<add key="DnsIdentity" value="" />
<add key="UnknownSpnHint" value="(net.tcp://spiderman:7046/DynamicsNAV/Service)=Spn;" />
</appSettings>
</configuration>
Neueste Einträge
- Dynamics NAV 2013 – Bilderrätsel
- Dynamics NAV 2013 – XmlPorts und Option-Felder
- NAV 2013 – Der Fall mit den Notizen
- Dynamics NAV 2013 – Austauschverfahren in der Automobilbranche – Altteilsteuer
- Dynamics NAV 2013 – Die Länge der Datentypen Code und Text
- Dynamics NAV 2013 – Quellcode mit Kommentaren von Microsoft
- NAV 2009 – Unerwartetes Verhalten von Codeunit.RUN
- NAV 2009 – Benutzer-Metadaten kopieren
- Dynamics NAV 2013: 3-Schichten-Installation
- Zusammenfassende Meldung - merkwürdiges Verhalten
Nach Datum
- Juni 2013
- Mai 2013
- April 2013
- März 2013
- Februar 2013
- Januar 2013
- Dezember 2012
- November 2012
- Oktober 2012
- September 2012
- August 2012
- Juli 2012
- Juni 2012
- Mai 2012
- April 2012
- März 2012
- Februar 2012
- Januar 2012
- Dezember 2011
- November 2011
- Oktober 2011
- September 2011
- August 2011
- Juli 2011
- Juni 2011
- Mai 2011
- April 2011
- März 2011
- Februar 2011
- Januar 2011
Tag Cloud
3 schichten 2009 2013 active directory add-in addin altteilesteuer ascii automobilbranche benutzer bericht buchungsdatum bug caption classic code codeunit copy datentypen diagramme drucken enhanced export extension form format fun gdpdu icons infopath inforegister installation kommentare ldap link login merge metadaten nav notizen option page paste pdf profil r2 readpermission record record link reihenfolge report rtc run runmodal security securtiy service princial name session sharepoint sicherheit sicherheitsmodelle spn sqlserver ssl standard text toolbar transformation transformation tool trigger tutorial update webservices xmlports zm übersicht

