LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Why am I missing Labview run time engine when launching LabWindows?

Our company recently forced all employees that have a PC to create and login to their PC's under a new user name. This new user name has administrator priviledges just like my previous user name did. However when I log unto my PC using my new user name and try to run LabWindows the Windows installer comes up and is looking for the LabView run time engine file - lvrt.msi. I also have the same problem when I try to run any of my LabWindows applications that use the Datasockets feature.  What do I need to do?
 
Thanks,
Jim
0 Kudos
Message 1 of 8
(4,330 Views)
Hi Jim,

It's hard to guess exactly what happened, but somehow your system is determining that the LabVIEW Runtime Engine is damaged and needs to be repaired.  When the popup comes up, does it fail to automatically repair the LVRT installation?  Have you tried to manually repair the installation from Add/Remove Programs?  If you are still wrestling with this, let me know what exactly the popup says (maybe a screenshot).  Have you tried logging in with the old login to see if the problem is exclusive to this new login?

Mert A.
National Instruments
Message 2 of 8
(4,301 Views)

Hi Mert,

Thanks for your reply. The message I got from the Windows installer was:

The feature that you are trying to use is on a CD-ROM or other removable disk that is not available. Insert the ‘NI LabView Run Time Engine 6.0.2’ disk and click OK.

I believe that this problem only occurred if I was logged in under my new username. However I can't go back and check this out because I found the program that the Windows installer was looking for (lvrt.msi) on my hard drive so I browsed the windows installer to the folder that it was in and it installed the software and now it seems to be happy.

I have another problem now that I didn't use to have with Datasockets. I'm not sure if this problem is connected to my previous problem or not. I have 2 LabWindows applications that communicate using the datasockets interface. You can launch either one first and it will start the datasocket server and connect to it. Now however the first application launches the datasocket server but if I look at the datasocket server there are no processes connected to it. If I then start up the second application and look at the datasocket server it will show 1 process connected. If I then shut down the first application, restart it, and examine the datasocket server there are 2 processes connected and everything works fine. I can reverse the order and start the other application first but the first application that attempts to connect always fails and needs to be restarted again after the second application has connected. If I run the first application in the debugger and single step through the call to DS_Open it works fine and the datasocket server shows 1 process connected. If I am not running in the debugger the status returned from DS_Open is 0 indicating that the call worked even though 0 processes are shown connected.  Any ideas on what could be wrong?

Thanks,

Jim

0 Kudos
Message 3 of 8
(4,282 Views)
Jim,

The fact that everything works fine if you step through the code in the debugger makes me think that there is just some problem getting the server up and ready for connections in time for the DS_Open call.  The fact that DS_Open returns 0 does not necessarily mean that you have successfully connected.  The function help states:

This function returns before the connection is completed. Wait until the connection status is set to connected before performing operations with the DataSocket handle returned by this function. If you specify a callback for a connection, your callback is called when the status of the connection changes. You also can check the status using the DS_GetStatus function.

I would recommend using DS_OpenEx instead, to which you can pass a timeout value.  You can still use DS_Open if you like, but you should wait for the connection callback event as stated above.

It's not clear to me why the server would not be accepting connections immediately after DS_ControlLocalServer has returned (assuming this is how you launch ther server), but you can try putting in a short call to Sleep or Delay to see if this solves your problem.

Hope this helps.

Mert A.
National Instruments
0 Kudos
Message 4 of 8
(4,273 Views)

Mert,

Yes, I am using DS_ControlLocalServer to start the DataSocket server. In fact I call it twice once to start it and another time to hide the panel. I think I figured out what the problem is. I commented out the second call to DS_ControlLocalServer so that I could see the DataSocket panel while things are starting up. It seemes that there is a large delay on the order of 5 - 6 seconds while the DataSocket server is resolving the host name "<NewHost>". If I put in a 7 second delay between the call to DS_ControlLocalServer and DS_Open everything works fine. If I set the delay to 6 seconds it fails. I never used to have this issue so I suspect that this has something to do with my new user name although I tried logging in under my old username and I have the same issue.  Could this be an issue with a newer version of LabWindows? When I first created these applications I was using LabWindows 6.0 and I am now using 7.1. 

Thanks,
Jim

0 Kudos
Message 5 of 8
(4,260 Views)
Hi Jim,

I'm not really sure what you are referring to by "<NewHost>"; it's not an alias or constant that I am aware of.  Also, if this is something you're passing to DS_Open, then it really shouldn't be relevant.  You say that a sufficiently large delay between DS_ControlLocalServer and DS_Open makes the connection succeed.  This means that the hold up is due to slow server launch/initialization, which shouldn't be resolving any host addresses that I'm aware of.  I really don't know why the DataSocket server startup would be so slow. The only thing I can suggest is to open the DataSocket Server Manager and see if there are an unusually large number of default data items or other suspicious settings that might be causing it to do a lot of work at startup.

Let me know if you find anything.

Mert A.
National Instruments
0 Kudos
Message 6 of 8
(4,246 Views)

Mert,

The message that appears on the DataSocket server panel is 'Resolving host name "<NewHost>"'. This appears after the call to DS_ControlLocalServer before I call DS_Open. I'm not passing this as an argument to DS_ControlLocalServer, in fact I have no idea what it means or where it comes from.  I ran the DataSocket Server Manager and noticed that under Permission Groups->Creators there were 2 hosts listed: localhost and NewHost. I deleted NewHost, saved the configuration, and now everything is working fine. I can immediately call DS_Open after starting the DataSocket server. The delay is no longer needed.

Thanks for your help,
Jim

0 Kudos
Message 7 of 8
(4,237 Views)
Jim,

Glad to help.  I had not seen this before either.  Thanks for letting me know what the problem actually turned out to be!

Mert A.
National Instruments
0 Kudos
Message 8 of 8
(4,234 Views)