LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

CVI 8.5 installer bloat ?

I just moved an application from CVI v7.1 to CVI v8.5.1. The application moved fine. I just built a distribution kit for the first time. It was huge! I can't believe this and yet I see no way to reduce the size. The Build->Distributions->project file->Drivers & Components tab has nothing checked that I can uncheck.

Please tell me what I am doing wrong or that it's just a bad joke....

CVI v7.1 distribution
     6 files in 1 directory totalling 6,711,711 bytes

CVI v8.5.1 distribution
     353 files in 51 directories totalling 197,305,526 bytes


0 Kudos
Message 1 of 11
(4,556 Views)


JKpfinc wrote:
The Build->Distributions->project file->Drivers & Components tab has nothing checked that I can uncheck.

Are you sure? Most of my distribution kits just have Standard Run-Time checked in the LabWindows/CVI Run-Time Engine section. Occasionally, if required, I also check the Analysis Support box. Things like DAQmx drivers I always distribute separately if required.
 
Even so, you should be aware that 8.5.1 is so much of an improvement over 7.1 that the minimum installer size is about twice as big Smiley Wink
--
Martin
Certified CVI Developer
0 Kudos
Message 2 of 11
(4,532 Views)
Hi JKpfinc,

Could you post a screenshot of what you have selected in the Drivers & Components tab? Are you saying you just have the LabWindows/CVI Run-Time Engine item selected and that causes your installer to be that large? My first thought would be that maybe you are also selecting drivers such as DAQmx to include in your distribution which is ramping up your installer size.

We did change the distribution mechanism in CVI 8.0 to make it easier on our users but I wouldn't have expected such a dramatic jump in distribution sizes.  More information would be helpful.

Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 3 of 11
(4,509 Views)
Hi JKpfinc,
 
I just built a quick CVI installer with just the CVI Run-Time Engine included (8.5.1) and the installer was only 56 MB which is what I would expect for the full RTE. So it sounds like you might have other components selected.
 
Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 4 of 11
(4,472 Views)
Sorry for the delay in my reply. I was on vacation.

I had a more verbose response written, but it was lost. I hope this is enough of an explaination.

The project was including 174MB of NI 488 support. When I would uncheck this on the drivers & components tab, it would say that this needed to be included. This is where the bloat came from.

The project used to support GPIB, but this had been removed. For some reason, other parts of the code were using the GPIB.H file global variable ibcnt instead of declaring their own local variable. When I replaced this with a local variable, the distribution when to a more reasonable 11 files and 12.2MB.

The mystery is at least partly explained.

Thanks for the replies.

Jim
0 Kudos
Message 5 of 11
(4,396 Views)
Hi Jim,

When you are building an application against a specific driver (i.e. like GPIB), CVI actually detects this and we automatically select this driver to be included in your distribution.  So if your source code was still making references to GPIB, we thought you were still using GPIB and thus we still added the GPIB driver support to the distribution package. 

Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 6 of 11
(4,366 Views)
 

Jonathan N wrote:
Hi JKpfinc,
 
I just built a quick CVI installer with just the CVI Run-Time Engine included (8.5.1) and the installer was only 56 MB which is what I would expect for the full RTE. So it sounds like you might have other components selected.
 
Best Regards,


Smiley Surprised

 
Long long time ago, back in 7.1 days,  there was a happy time when an installer was as big as 5 MB...
I wonder what has happened to make the runtime so huge and the installer so hungry and demanding!
 
I'm afraid the answer is "not so much in the RTE itself, the big part is to fulfil MS installer!" Smiley Surprised Smiley Mad


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 7 of 11
(4,357 Views)
Hi Roberto,

Supporting the Windows Installer (MSI) technology certainly added to the bloat, but it isn't even the biggest bloat-generator. The biggest culprits are some of the newer libraries that CVI has added in recent versions, especially the Network Variable library. These libraries require a whole bunch of framework to be present in the machine that is normally shared among multiple NI apps, but that unfortunately needs to be present if one installs a single app in a clean machine.

The good news is that if you know that you're not using these libraries, you have the option to check only the "Standard Run-Time" sub-component under the "CVI Run-Time Engine" group, and that reduces the installer to a much more manageable size.

Luis
0 Kudos
Message 8 of 11
(4,332 Views)

Thanks, Luis, you're right: disabling all components but Standard Run-Time and Analisys support generated an installe 16 MB huge for an application of 2.3 MB. The most exigent component seems to be the Instrument Driver Run-Time (32 MB) while the Network Variable adds only 3 MB.

It means that the Driver and Components tab of the distribution needs to be considered with particular attention before building.

Roberto



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 9 of 11
(4,325 Views)
Actually, the Instrument Driver Run-Time is the most pared-down version of the runtime engine, and should weigh in at around 230 KB. It's possible you're being confused by contrasting the sizes when you start with all the RTE components checked, then deselect only the Instrument Driver one. When all components are checked, they are distributed as a single .msi file that contains the whole lot. When only a subset are checked, they are distributed as several .msm files. The .msi file is actually significantly larger than the sum of all the individual .msms, so it could give the illusion that the last component you select is very large.

Mert A.
National Instruments
0 Kudos
Message 10 of 11
(4,312 Views)