LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

hiding the runtime engine

I have seen postings about this issue before but still...

I'm trying to hide the LabView Runtime Engine (RTE). Basically I would like to have the whole app in one directory.

When I put the lvrt.dll and additional files in the same dir (as suggested in this forum), starting the EXE calls the Windows installer and the RTE is extracted to the usual path (c:\program Files\National Instruments\shared...).

When I abort the Installer it pops up again 3 times. After aborting 3 times the app launches and runs correctly without having installed the RTE on the system.

Is there an option to prevent the RTE installer to kick in?

(Currently running LV 7.0)

If someone can help I'll buy you a beer at your next trip to Germany!
-DB
0 Kudos
Message 1 of 10
(4,226 Views)
Is there an option to prevent the RTE installer to kick in?

The RTE installation is optional. When an application is being built, there is an option under

Installer settings----->Advanced---->
Then you can check/uncheck the runtimeengine.

usually, I do not include the RTE with my application. I just install it once, or have the customer download it from ni.com and install it once.
0 Kudos
Message 2 of 10
(4,211 Views)
I suppose I didn't explain my problem clearly.

I want my app to run on any (non LV) computer.

I can go the normal way and just install RTE (ether included in the MSI-Installer or installed seperately). But then I end up having the RTE installed in the c:\Program Files\National Instruments\shared... directory.

But I'd rather have the RTE in my application directory (some customers get confused when they are getting 2 entries in the Program Files-directory instead of just the one they have paid for).

So here is what I did: I copied die lvrt.dll and the rsc-files into my application directory (c:\Program Files\myapp\...) on a computer without LV and RTE.
When I start myapp.exe, the RTE is found, but instead of just starting to work it tries to install itself into the 'c:\Program Files\National Instruments\shared' dir by calling the Windows-Installer.

If I wait for the RTE-installation to finish I end up having RTE in the 'c:\Program Files\National Instruments\shared' dir AGAIN! That's exactly want I didn't want.

If you are quick enough you can hit the 'cancel' button to skip RTE-installation. But then the Windows Installer starts again until you have canceled three times.
And then, finally, myapp.exe starts working without having RTE installed nd the 'c:\Program Files\National Instruments\shared' directory.
But anytime I start myapp again, the game starts again.

Somehow the RTE does not like being run from the 'non-default'-directory (even though it can!!) and always tries to install itself into it.
If you want to try yourself:
1. Copy the lvrt.dll and .rsc-files into a test directory together with a simple labview-built .exe.
2. Rename your National Instruments directory so the RTE cannot be found any more.
3. run your .exe

(and see the Windows installer installing RTE into a new 'c:\Program Files\National Instruments\shared' dir as on my Win2000, LV7.0 machine)

Is there a workaround?
-DB
0 Kudos
Message 3 of 10
(4,206 Views)
Guessing you are running on Windows, my best guess would be there are some registry entries missing that trigger the installer to run.

I do not currently have a machine with just the runtime engine installed, but a quick look shows a key for the runtime at "HKEY_LOCAL_MACHINE\SOFTWARE\National Instruments\LabVIEW Run-Time\7.1"
In that key, there is a string value with the Name "(Default)" of type "REG_SZ" with no Data and another string value named "Path", type "REG_SZ" and a data value of the path to the runtime engine.

If you can create these keys with a path to where the uninstalled RTE is sitting, it might work. If this doesn't do it, I can dig up a machine that just has the RTE and see what it has for registry entries.

Ed


Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
0 Kudos
Message 4 of 10
(4,184 Views)
There must be something else that you do wrong, or something in the environment on the computer that triggers this extraordinary behaviour.

We have been doing this since the RTE got separated from the executables, never had such a problem (thousands of installations on different computers, never with the RTE installed, just the files included). What files exactly do you have in the same directory as the built application? When you create the installer, do you do it with a third party tool, or do you use the in-built one (the former I assume and recommend...).
0 Kudos
Message 5 of 10
(4,175 Views)
Just having lvrt.dll and the resource files (rsc) isn't enough: copy the following files & folders into the folder containing the exe:

..\National Instruments\shared\nicontdt.dll
..\National Instruments\shared\nicont.dll
..\National Instruments\shared\LabVIEW Run-Time\ver\* (including all sub-directories)

There are a few things that, depending on whether used by your app, may not need to be included. For example:

..\National Instruments\Shared\LabVIEW Run-Time\ver\Errors
Converts and displays LabVIEW errors to the user. If you don't have this directory, errors may be displayed in a non-sensical format, or even not at all. Note: if you have custom error files (like xml onesyou've created, then put them in here).

..\National Instruments\Shared\LabVIEW Run-Time\ver\models
These are the control/indicator models - have alook through the directory, and remove those that you don't need.

..\National Instruments\Shared\LabVIEW Run-Time\ver\PlugInControls
Remove anything out of here that you don't need (eg: image control/indicators, etc)

..\National Instruments\Shared\LabVIEW Run-Time\ver\script
This is where interfaces to Matlab, HiQ and the like are kept - delete them if you don't need them 😄

..\National Instruments\Shared\LabVIEW Run-Time\ver\lvjpeg.dll
..\National Instruments\Shared\LabVIEW Run-Time\ver\lvpng.dll
If you're not doing anything with jpegs or pngs, then you don't need these either.

That said, if you're using 7.1, then there's a whole bunch of other files in the ..\National Instruments\Shared\LabVIEW Run-Time\ver\ folder - just have a look at the names and experiment a little 🙂




Copyright © 2004-2024 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 4.0 License.
0 Kudos
Message 6 of 10
(4,153 Views)
My application loads png files at runtime. On the targe computer (rumtime is in the same dir as the application), the application runs fine even without lvpng.dll. Anyone can explain this?

-Joe
0 Kudos
Message 7 of 10
(4,138 Views)
Thanks for all the input!

I thought its enough to copy the shared/ver/*.* -structure into my app-dir.
I didn't know that shared/nicont.dll and nicontDT.dll have to be included as well.
When I copy them into my app-dir everything is fine!

Thanks Chris - I really appreciate your help!
-DB
0 Kudos
Message 8 of 10
(4,127 Views)
Well, I'll stick to this thread to ask an even more detailed question.

Those of you using a third party installer (as I am doing) might have run into this issue:

VISA for serial communication only!

Has anyone of you included VISA in an Install-script?
If I use the built-in installer, I can check "include serial support" and get a really small VISA (serial only) installation.

Using NSI (or any other 3rd party installer) the only way I figured out was installing the big fat 15MB VISA RTE.
And then it is installed in c:\VXIPNP. Again I'd like to have the application with all support files in my app's dir.

Any clues?

BTW: The VISA licence-issue keeps coming up. I just talked to a NI sales person who told me that a licence is only necessary if you use NI-VISA "standalone". If you are using NI hardware OR software (such as LV) it is free to distribute. Hope that's true...
-DB
0 Kudos
Message 9 of 10
(4,104 Views)

Anybody know if this is possible using LV 8.5?

 

I want to create an installer that hides the rte from the customer.

 

Thanks in advance

 

ssk

0 Kudos
Message 10 of 10
(3,359 Views)