LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

CVI Application Deployment on thumb drive

This may be more of a Windows question than a CVI question, but here goes. (I'm more familiar with Unix systems.)

 

Is there a way to install a CVI application (distribution?) on a thumb drive (CD, DVD) so that it can be executed directly from the thumb drive without installing anything on the hard drive ?

 

I'm somewhat familiar with the process of building a CVI "distribution". I've used the step-by-step procedure given in the "Getting Started with C LabWindows" manual to build an application.

 

 

thanks,

David

 

 

0 Kudos
Message 1 of 7
(4,303 Views)
CVI applications normally depend on the runtime engine to be present on the system the run on. However, you may find useful this discussion: it's somewhat old but the situation is probably remained similar to this in more recent versions of CVI.


Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 2 of 7
(4,289 Views)

Thanks Roberto.

 

It appears that not only is a runtime environment required but the correct version of the runtime is also critical. This makes CVI extremely inflexible. How do CVI applications ever get distributed? Or do they? I mean, if you create a CVI application on your computer and I create one on my computer then there's little chance our applications will run on a user's machine unless all three of us have the exact same runtime environment, right? Please, say it ain't so! Do people just create CVI applications for their own personal use?

 

In the process of building a distribution there's a step in which directories for the various software components can be specified, if I understand the step correctly. Can I specify a non-conventional location for the runtime software and include all the supporting pieces with my distribution? What pieces do I need to include?

 

0 Kudos
Message 3 of 7
(4,257 Views)

It is NI's intention that later versions of the CVI run-time engine will always be backwards compatible with earlier applications. In practice, this is not always the case and there have been occasions when an older application has been broken by installing a newer runtime as part of a new, unrelated application.

 

When creating distribution kits, it is my habit nowadays of selecting the option to place the runtime engine in the same directory as my application. That way it is guaranteed not to be affected by any more recent updates in the future.

 

JR

0 Kudos
Message 4 of 7
(4,251 Views)

In my experience, NI does a good job on backward compatability.  Sometimes it takes a couple of updates to get it right.  I am never quick to deploy apps built with a brand new version of CVI (or LabView), so it might be that they have fixed the early problems before I deploy with a new version.

 

But for your original question of deploying a complete CVI application on a thumb drive or CD or DVD, you could follow JR's example and install the CVI run-time to the same drive.

0 Kudos
Message 5 of 7
(4,236 Views)

The only real runtime version requirement is that the runtime version installed be equal or greater than the version used to develop the application.  Backward compatibility for the CVI runtime is about as good as it gets in the software industry.  There can be the occasional issue when the runtime gets upgraded, but overall it has been my experience that the backward compatibility of the CVI runtime is pretty good.

As for installing the runtime in the application directory, in this case that would be a removable drive.  Has anyone ever installed the runtime to a removable drive?  Did that cause any issues at boot time or when the drive was removed? 

0 Kudos
Message 6 of 7
(4,181 Views)

The option to install the CVI runtime in the application directory is a possible solution for this, but I wanted to point out that it is only a viable option for the core CVI libraries. Once you start using driver libraries, or even some CVI libraries that depend on other NI software (such as Network Variable, TDMS, or Analysis library) then a dependency does exist between the DLLs installed in the application directory and other software components that can only be installed globally. And some of these components (such as those required by the Network Variable Library) also rely on services that need to run on startup.

 

Other than that, it shouldn't be a problem for the removable drive to not be present when the computer is booted up. The DLLs installed to the application directory only need to be loaded when the application runs.

 

Luis

Message 7 of 7
(4,158 Views)