Intel® Business Client Software Development
Support for Intel® vPro™ software development and technologies associated with Intel vPro platforms.
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

Problems integrating Open MDTK 1.28



I'd like to integrate Open MDTK into one of our company applications. I generated the "Manageability Stack.dll" from the Source and added it into my C# application. I then tried to connect to the system and get the current power state with this code:

AmtSystem sys = new AmtSystem(this.__Hostname, 16992, this.__Username, this.__Password, false, false);

System.Diagnostics.Debug.WriteLine("[AMT] Connecting to " + sys.HostName);
while (sys.State == AmtSystemObjState.Connecting)
if (sys.State == AmtSystemObjState.Connected)
	System.Diagnostics.Debug.WriteLine("[AMT] Connected!");
	this.__Response = sys.Remote.GetSystemPowerState().ToString();
	this.__Response = "Error on connect;";

But the code never enters the connected state. And the strange thing, if I run the code in Release, I get a ton of these (with different field names, sorry for the German):

Eine Ausnahme (erste Chance) des Typs "Intel.Manageability.Exceptions.CimPropertyException" ist in Manageability Stack.dll aufgetreten.
In Intel.Manageability.Exceptions.CimPropertyException ist eine Ausnahme vom Typ "Manageability Stack.dll" aufgetreten, doch wurde diese im Benutzercode nicht verarbeitet.
Zusätzliche Informationen: Logic error:
no such field name: DDNSPeriodicUpdateInterval

The code breaks @CimData.cs in GetField(). I guess it has something to do with the asset management.

What am I doing wrong? The binary software from the installer works, so it has to be my code. Am I missing an assembly?

Kind Regards,

0 Kudos
4 Replies

I just witnessed something strange:

If I run the App in Release Build Mode from within Visual Studio, I get the above mentioned errors.

If I start the app out of the Release Build folder, MDTK works perfectly and displays the current system status.

So what is the debugger doing different?


Is there a dll that is in the Release build folder that the exe needs that is not in your path when you run from within Visual Studio?  

Interpretation of error:

An exception (first chance) of the type "Intel.Manageability.Exceptions.CimPropertyException 'occurred in Manageability Stack.dll. 
In Intel.Manageability.Exceptions.CimPropertyException an exception of type "Manageability Stack.dll" has occurred, but this was not handled in user code. 
Additional information: Logic error: no such field name: DDNSPeriodicUpdateInterval

Hopefully, Ylian will get a chance to look at this - I will also take a quick look.


Arg. I wrote most of the DTK and I can't say I have ever ran into this problem. Personnaly, I subscribe to the state change event and call "Connect()". I then start the code I want to run after the connect in the event handler. It's better than calling connect and looping. If you are going to loop, put a Thread.Sleep(100) or something in the loop so not to peg the processor.

I never saw this before: "Additional information: Logic error: no such field name: DDNSPeriodicUpdateInterval". I will probably be of no help here.



Here's an update: This time I added the dll from the binary download (mostly because I didn't compile it...), added it to my lib folder, updated the project and rebuild the entire project.

If I run in release config I get what I want, DLL and code work fine.

If I run in debug config I never get to the connected state. 

So the initial error with the dozens of missing fields has gone, but when I write my AMT code I can't really debug it.

Any ideas there?