LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Why does NI-USI require the NI License Manager?

Solved!
Go to solution

Hi,

 

I'm running into some problems deploying a CVI application that uses the NI-USI libraries.  The application runs fine on my development computer.  I create an installer that includes the CVI runtime engine and NI-USI 1.9.0, and install my application on a fresh system running Windows XP.  In my application when I try to call DDC_OpenFileEx(...) I get an error -6204 DDC_UnexpectedError.  

 

Anyhow, I figured I must be missing some component, and after some trial and error I finally figured out that in order to get my application to run properly I need to install the "NI LabView 2011 Deployable License" which is part of the LabView 2011 runtime installer (I don't actually need to install the runtime engine itself, just the deployable license).  It appears that this installs the NI License Manager, which does nothing except report that "No Licenses Installed".  Quite frankly, this makes no sense.  Why does NI-USI require the License Manager?  Is this the intended behavior or is this some bug?  Are there any other components I should be installing to make sure the NI-USI will function properly?  Thanks.

   
0 Kudos
Message 1 of 18
(5,389 Views)

Hi tstanley,

 

I found this information regarding installing NI-USI - is this relevant to your application? Is your application using Storage/Dataplugin VIs?

 

Thanks Stanley!

0 Kudos
Message 2 of 18
(5,370 Views)

Hi,

I am not aware of a dependency to the NI Licence Manager.

My best guess is that your target system is missing the VC9 runtime, which is needed by USI. The runtime is included in the LabVIEW 2011 runtime installer, which would explain that after installing the LabVIEW runtime your application works like expected.

0 Kudos
Message 3 of 18
(5,362 Views)

Thanks for the replies.  I'm using the DIAdem connectivity library in an application developed with CVI.

 

I do include the CVI Runtime engine (2010SP1) with my installer.  I believe that installs the VC9 runtime if I'm not mistaken.

0 Kudos
Message 4 of 18
(5,355 Views)

Hi tstanley,

 

Are you still having issues with USI deployments? If so, could you create a Depenency Walker log for usi.dll on your target system? If you have not used Dependency Walker before, it is a commonly used debugging utility that will provide you with information on the dependencies of a particular DLL or code module. All you have to do is run depends.exe and then open usi.dll in Dependency Walker. Save the resulting log and post it back here (or private message it to me if you feel more comfortable with that). We can run it on our system and see what dependencies it is requiring, but the log will also show us which ones it is having trouble finding on your target system.

National Instruments
0 Kudos
Message 5 of 18
(5,306 Views)

Hi D Biel,

 

Thanks for the reply.  I never did figure out what was going on, other than to install the license manager.  Attached is the log file from Dependency Walker.  Hopefully you'll find it helpful.  Thanks. 

0 Kudos
Message 6 of 18
(5,289 Views)

Thank you for sending the dependency walker log. Unfortunately, it did not reveal any new clues. Let's try getting a Process Monitor log. It's most helpful when you can get one from both the system that does work and the system that does not work so that I can compare.

National Instruments
0 Kudos
Message 7 of 18
(5,269 Views)

Hi D Biel,

 

Thanks for looking into this.  I started Process Monitor, then started my application, and then tried to load the .tdm file.  I'm assuming that's what you intended.  I then installed the NI License Manager and re-ran my application and loaded the .tdm file.  I also did the the same thing with Dependency Walker's profiling feature which you may or may not find handy.  The files are attached to a PM that I'll send you here shortly.

 

Thanks.

 

0 Kudos
Message 8 of 18
(5,265 Views)
Solution
Accepted by topic author tstanley

Hey tstanley,

 

Thank you for sending me the files you did. They helped me get to the bottom of the issue. NI-USI depends on Microsoft Visual C++ 2005 Run-Time, which is not included in the NI-USI component. This is typically not noticed because the CVI Run-Time Engine does include it, as well as several other NI software packages such as NI License Manager. It may also be the case that some users already have it installed. However, if your distribution uses merge module deployment for the CVI RTE (either you have unchecked some of the sub-components of the RTE in the distribution or you have selected to install the RTE to the application directory), then MSVC 2005 is not included in your installer.

 

There are a two simple solutions to avoid this:

  1. Include the full CVI RTE in your distribution.
  2. Install the Microsoft Visual C++ 2005 Redistributable Package on the target system (you could package the installer into your distribution). You can download it from Microsoft here.

 

National Instruments
Message 9 of 18
(5,234 Views)

Hi D Biel,

 

Thanks for the help.  While I knew that a lot of the NI Libraries depend on Microsoft's Visual C++ runtimes, I figured that the installers always installed the runtimes whenever it needed it.  I'll have to start including the full runtimes in my distributions as this may explain some other things I have also ran into. Thanks again for looking into this. 

0 Kudos
Message 10 of 18
(5,225 Views)