NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

IVI Session Factory Question

I've got several IVI-compliant drivers I've written for test equipment we're planning to use. These drivers were written in C# (.NET) and located in C:\Program Files\IVI\bin (like the other IVI instrument-specific drivers), registered as COM objects and placed in the GAC so the IVI Session Factory can find them. I've written a small C# test harness that utilizes the Session factory to open the drivers, and then make them run their instrument self tests. It then closes the drivers.

The test harness works great. As far as the test application knows, I'm talking to the IVI class driver, not a particular instrument. I can even take my test harness executable and move it to different directories and it still works.

If I do an operation-for-operation translation of the C# test harness into a TestStand (3.1) script, the IviSessionFactoryObject.CreateDriver() call barfs, complaining that it can't open the driver: "Exception has been thrown by the target of an invocation. Root Exception:Unable to open driver for VXI_DMM" (VXI_DMM is the logical name of the instrument in the IVI Configuration Store).

The troubling thing is that it WORKS for IVI drivers that I've downloaded from vendors, it's only my own that break. Since it's only my drivers, it is apparently something I'm doing wrong. Is there a howto anywhere for installing .NET dlls as COM objects for general system use?
0 Kudos
Message 1 of 2
(3,203 Views)
Are you using the COM Session Factory (ie that which is installed with IVI's Shared Components at http://www.ivifoundation.org/Downloads/SharedComponents.htm)?

The error you quote is not native to the COM Session Factory. It looks like it's generated from a wrapper (since it knows about the driver's logical name).

Message Edited by DGM on 04-11-2005 08:50 AM

0 Kudos
Message 2 of 2
(3,187 Views)