07-24-2010 01:28 PM
I wrote and compiled a program to open an image and convert the image to an array. The program uses only non-Vision RTE functions (by design). When I create an installer and deploy it, I get an error from the program trying to locate NiVisSrv.dll and NiVision.dll. I did not add additional installers when creating the installer project (in addition to the LV 8.5 RTE).
I added the two missing dlls to the installer and loaded them into windows/system32, and the program loaded but I'm concerned that the license requirement for the Vision RTE will kick in and I'll have unhappy customers. Additionally, the program runs but does not display images when opened.
I have the Vision library installed on my development PC but I don't want to have to install the Vision RTE (for $400 per exe) when I'm using the functions included with standard LV8.5 (i.e. those functions that come with LabVIEW that doesn't have the Vision library).
Any help is appreciated...
07-26-2010 01:09 AM
You should put NIVision.dll and NIVisSvc.dll into the installer and have the appropriate vision run time licence to have the image processing function work on your exe. "Image to array" is definetly one function from the vision development module.
07-26-2010 03:20 AM - edited 07-26-2010 03:23 AM
@muks wrote:
..."Image to array" is definetly one function from the vision development module.
to muks:
Wrong answer. IMAQ Image to Array is free (and also included in VAS). (Otherwise IMAQ Array to Image is not free.)
to SJT:
if you have message that Vision is not licensed, it means that you have at least one function, which should be licensed. Check all functions used in your application. Deactivate Vision license on your development PC, then check error out of vision functions. The non-licensed function will return to you error "non licensed" or something like that.
Also be sure that you have folder PlugInControl in \Shared\LabVIEW Run-Time\x.x on the target PC. (I don't remember if this folder will be deployed by standard LabVIEW Run-Time installer or by Vision RunTime Installer).
07-26-2010 05:19 AM
Andrey - thanks for the reply. I developed the program to use only standard functions included in LV8.5.1 (nothing from the Vision Development Module (VDM)). But I do have the VDM installed on my development PC. When I create the installer, "Additional Installers" does not have VDM checked, so it does not get installed on the target PC and there is no activation prompt, etc.
I have included the two missing DLLs in the installer and saved them to windows\system32. The program found them but still did not display the image.
As part of my troubleshooting, I included the IMAQ 4.0 Installer and the program worked but it added an additional 60 steps to the installer and I don't know if it will eventually require activation as if I had installed the VDM...
I will try de-activating the VDM on my development PC and check for the plugin folder. Thanks for your help.
07-27-2010 06:32 AM
Andrey - I compiled the program and created an installer on a PC that does not have the VDM. I deployed it to a clean PC (no NI stuff installed). The NIVision.dll and NiVisSvc.dll were missing when I ran the program. I moved these manually to the system32 folder and the program operated but did not display the image in my front panel display window (it displays correctly on the develpoment PC). I did not receive any errors from any of my vision functions, so I don't think the Vision RTE is necessary. Is it possible that the program is operating in a 30-day window and I'll have customers complaining 30 days after installation??
The folder PlugInControl was not created in \Shared\LabVIEW Run-Time\x.x
So I need to find a way to get the display to work. Does it something to do with dependencies in the creation of the EXE or installation files?
Thanks for your help.
07-27-2010 07:19 AM
07-27-2010 07:29 AM
07-27-2010 09:57 AM
I created a sample VI with the same problem. All functions are standard. LV projects are included to create an EXE and Install the program. I manually loaded the two vision dlls. I've included screen grabs from the development and target PCs to show the display behavior problem. Any help is greatly appreciated...
07-27-2010 11:26 AM - edited 07-27-2010 11:28 AM
@ST1 wrote:
I created a sample VI with the same problem. All functions are standard. LV projects are included to create an EXE and Install the program. I manually loaded the two vision dlls. I've included screen grabs from the development and target PCs to show the display behavior problem. Any help is greatly appreciated...
I already point above that you have missing PlugIn folder in Run-Time folder - this is the reason. These files not included into standard LabVIEW Run-Time. They will be deployed with Vision RTE or IMAQ. If you want to avoid both in your installer, then you have to include these files into your own installer manually.
Also its not necessary to have two different projects for application and for installer - you can combine both in single project. It very convenient to have both - application builder and installer within same single project.
Well, step by step:
First you have to put all support files in your project. I will create INSTALL virtual folder where I will put links to all files which are necessary:
In system32: NIVision.dll and other Vision DLLs. Take a note, that I have Vision 2009 on my PC, so there are five files. If you have older version, then you may have less files (I don't remember which files was added in latest version) - see what you have in your System32 folder. Also take a note that I have included tbb and tbbmalloc (Intel threading libraries) required for Vision. They may be not necessary for older Vision versions.
Also I have included into project "missing" files from LabVIEW Run-Time. They are present on your development PC.
So, the project looks like this:
For better understanding - file view:
Well, now go to installer. I just should put files into according folders on the target machine:
Attached changed project (because it contained fixed paths, some changes may required)
Hope it helps,
Andrey.
07-27-2010 05:48 PM
Andrey - This worked very well. Thanks for taking the time to help. Also, thanks for the tip on combining EXE and INSTALL projects.