LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

installation editor dependencies

The dist kit "dependencies" file includes a DLL that I don't want to distribute - I want the app to discover it on the target.

 

How can I remove this one DLL from the dependencies?  If I remove the dependencies file I get ride of the unwanted DLL but then I'm missing a slew of other files that aren't listed but are apparently there anyway, and now show up as missing installers, as well as the DLL's I do want to distribute.

 

I contimue to be stunned at the grossly bloated size of the distribution - I think pretty much everything NI's ever created goes into it - full runtime (can't trim it back to just basic RT for some reason), the LabView runtime (!), .net (!), NIMax, it just goes on and on and on.  It's not like I'm doing anything exotic - just 488 and serial libraries.

 

The installer editor is such a pain.  It gets my vote as the single most junky aspect of CVI. 

0 Kudos
Message 1 of 7
(3,707 Views)

So after looking at this some more, I realize I'm stuck.

 

If I eliminate the unwanted DLL by removing the dependencies file,  the dist editor demands access to installers I don't have.  If I leave the dependencies file as is (with the unwanted 3rd party DLL), no such demand is made (?!), but then the app doesn't work when deployed 'cause it's found and included a bad versionof the 3rd party DLL somehow.

 

The distribution bloatware comes about from references to the 488 library - that opens the floodgates and everything under the sun gets forced into the distribution - it's almost comical. 

 

I suppose I could try to add a post installation step to delete the unwanted DLL, but at some point life's too short to be using the CVI installation editor.

 

I keep getting a "custom control callback caused an exception" popup.  I have deja vu all over again - this is an old problem that NI's never fixed.

 

I now have an Unrecoverable Internal Error at 001B:10444345.

0 Kudos
Message 2 of 7
(3,704 Views)

More insight, if you can call it that.

 

It's not that the install editor found a bad copy of the 3rd party DLL, it's that I put it into the same folder as the exe and that's the problem.

 

I wanted the two DLL's I've created to go into the same folder as the exe so as to avoid as much of the DLL search path nonsense that I can.   And my two DLL's are fine in the exe folder but not the 3rd party DLL which must be in the system folder (but then, it's always already there on the target and I don't want to distribute it anyway but I can't find a way to split it out of the dependencies file.

 

Maybe somebody at NI will know how to do this.

 

BTW I rebooted and the CVI crashes stopped - for a while anyway.  I remember fighting this same problem some time back.  Simply restarting CVI didn't help, had to reboot.  Maybe some day NI will fix this Smiley LOL

 

 

0 Kudos
Message 3 of 7
(3,700 Views)

Hello Menchar,

 

     When installing the security update, you lose the ability to distribute low-level support drivers.  This is to make the entire installer package more secure. Whenever developing for LabVIEW or LabWindows/CVI Run-Time Engine.  The following two links will give more clarity on this.  If there is a problem with available space you may look into uninstalling the security update and developing an installer from there.
     Lastly, I believe that a repair of LabWindows/CVI would be the best path forward in both the system not rebooting, and the problem with the Installer not installing correctly. 

     If you would like me to try and recreate the issue would you be able to post some sample code to help expedite the process?

 

Daniel

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

You cannot uninstall the Security Update, so that is not an option for reducing the size of your distribution. However, I don't think the low-level support driver is the reason you need the full RTE anyway.

 

There is not a way to split the dependencies file or remove items from it. If you want to distribute some dependent libraries but not other, you will need to include them each individually and remove the dependencies file from your distribution. At this point are you being asked for an installer when building the distribution? If so, which one? You will need to have the installer accessible to build the distribution. The Driver DVD is the easiest place to locate those, but most of them are also available on ni.com/downloads.

National Instruments
0 Kudos
Message 5 of 7
(3,676 Views)

The custom control exception popup is an old problem, I tried pursuing it a some time back, with a previous version of CVI, and got nowhere.  Same with the related CVI crashes.  The crashes occur when using the installation editor, not when doing SW development.  

 

I don't know anything about a security update - not sure what you're talking about.

 

It asks for the rs-232 and GPIB installers if I remove the dependency file, yet it's OK if I include the dependency file.  I suppose I could hunt these down and add them, if that's all that's missing.

 

For now, I included the dependency file and targeted the system folder (where the 3rd party DLL is already present), my CVI-developed DLL's go into the system folder as well, the exe finds them there, there are no unresolved dependencies, and everything seems to work.  If the distribution is in fact installing the 3rd party DLL, then this scheme could break if the 3rd party SW package is updated and the distribution forces in an old DLL.

 

Thanks again.

0 Kudos
Message 6 of 7
(3,671 Views)

menchar,

 

I believe the security update referred to is this one which has a significant effect on distribution kit size as discussed here.

 

Ian

0 Kudos
Message 7 of 7
(3,652 Views)