11-11-2009 01:15 PM
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
11-11-2009 03:08 PM
11-12-2009 07:49 AM
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?
11-12-2009 08:05 AM
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
11-12-2009 10:26 AM
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.
11-16-2009 07:04 AM
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?
11-16-2009 11:26 AM
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