LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Build Installer LV8.0 - is this real??

Hi all
 
I recently received LV8.0. After playing around and test some new features, I wanted to start to bring all testrigs that run under LV to LV8.0. Therefore I chose one of them, made a LV-project, modified the source code, created a application build script and an installer build script. I run the application build script without any problems. OK - everything's fine up to now. But as I wanted to create an installer, it obviously just creates a lot of "nonsense".
I checked some additional installers (Datasocket, LV8.0 runtime engine, MAX 4.0, Fieldpoint, Scope and VISA) to make just one Installer, which would be very nice to handle. When checking NI Datasocket, I saw in the distribution title on the right side (see attachment) LabVIEW 8.0 Real-Time Module. Why???? There is no need to include the rt-module, as I don't use it.
I thought "ok, maybe a wrong string displayed - let's create the installer" and run the build script. While running it asked me for the device driver cd's (ok - could be logical) and out of a sudden it also asked me for the cd of the LV realtime module. Well - I inserted it an continued the build.
In the end I got a directory structure (Volume/bin/lotsOf"pXX") with a size around 650 MB - for a simple application of approximatly 10MB.
When I browse some of these "pXX" directories I discover subdirectories like "p14/LV711RTE", "p15/LVBrokerAux71" and lots of different msi-files (for instance "NIRegistrationWizard.msi" - but why?).
 
Is there anyone out there who can help me quickly?
 
Thomas
Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 1 of 31
(13,411 Views)
I don't know why it would get to 650 MB (maybe some of those packages are really big), but at least one thing is solvable - you selected to install Fieldpoint 5, which is most likely the reason you're seeing the RT module.

___________________
Try to take over the world!
Message 2 of 31
(13,374 Views)

So could you tell me what I really have to include?

I use the following hardware: Fielpoint-modules (controled over RS232), a 5102 high speed digitizer (I use NI-Scope to measure with it) and I use VISA vis to communicat to external system over RS232 and Datasocket to communicate with Profibus-Devices.

 

 

Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 3 of 31
(13,373 Views)

Just in addition: the ini-File which is created by the installer

Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 4 of 31
(13,374 Views)

I noticed the same problem.  I have a program that uses Traditional NI-DAQ, so I checked that on the additional installers page and the installation folder grew to almost 400 megs.  I saw the same thing you did, many pXX folders with all kinds of msi files of components I don't need.  Also the installation took an extremely long time for a simple program.  Since then I only have LV8 runtime included and the installer directory is about 70 megs.

I wish the installer allowed for more control over what is getting included.

0 Kudos
Message 5 of 31
(13,372 Views)
Yes, I also got a 70MB directroy, if I just include the runtime engine.
 
Unfortunately I don't know for sure, what really has to be included - and I also have not found usable documentation on that yet.
Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 6 of 31
(13,368 Views)

Thomas,
 
To start with your first post the reason, NI DataSocket is being shown as coming from the LabVIEW 8.0 Real-Time Module Distribution and you are being prompted for it is because that is where the DataSocket you are using on your system was installed from.  When you installed LabVIEW 8.0 it installed DataSocket 4.3.351 but then when you installed LabVIEW Real-Time 8.0 it installed a slightly newer version of DataSocket (4.3.376).  Since you can only have one copy of DataSocket installed at time and you chose to include it in your installer, the Installer Builder needs to copy the installer for it from the source used to install the version being used.  The Installer Builder is not including all of LabVIEW Real-Time just DataSocket and its dependencies.
 
The reason your installer included a lot of other things (like LV711RTE) is because the items you selected depend on those other items (MAX actually needs the LabVIEW 7.1.1 Run-Time Engine and its installer includes it.)
 
As you have found it is quite easy to build a large installer.  If you look at the sizes of the installers you included, when they are packaged to be installed independently you'll see the size is big.
LabVIEW 8.0 Run-Time Engine 80MB
MAX 125MB
FieldPoint 375MB
NI Scope 635MB
VISA 190MB
So that is a total of 1405 MB, which is much larger than what you ended up with.  That is because FieldPoint, NI Scope and VISA all include MAX, since the installers I was looking at were designed to run and possibly be the only NI product installed on the system these stated sizes are larger.  The Installer Builder will only include 1 copy of MAX which would reduce the size by 375MB and there are other shared dependencies (LabVIEW Run-Time Engines, etc) that are only included once.  Also if you don't have certain parts of one of the installers installed on your system they won't be included in the installer you build.  So for instance NI Scope includes support for old versions of LabVIEW (I'm not sure which ones but lets say it supports LabVIEW 6.0) which you don't have on your system, so therefore NI-Scope didn't install support for it, that size would be included in my 1405MB number but not your 650MB.
 
So while 650 MB is a big installer it includes the items you choose and all of their dependencies as installed on your computer, so that when you run the installer on another machine you can be assured that the same version of everything you said was needed is there.
 
Something to consider when you are building installers is to make sure you choose the right Install Type (ring in upper right corner).  With DAQmx for instance you have the choose of Full or Run-Time.  Full would include VIs for vi.lib, examples, documentation etc.  The Run-Time should only have what you need to run.  The options that are available in this ring depend on how the installer developer for that item wrote the installer (I don't have FieldPoint or NI-Scope on my machine so I'm not sure what choices the ring has for them).  Since this is the first time we have had the ability to redistribute our installers, most of them only have one option in this ring.  I see that getting better over time so that you can have more choices (with good descriptions below the ring) and you could pare down what you include.
 
As far as what you need to include I think you have it, you said you are using FieldPoint, NI-Scope, VISA and DataSocket, so you need to check those items plus the LabVIEW Run-Time in order to have an installer that you can take to any machine, run and be sure your application will run.

While the installer builder looks pretty simple from the UI, especially the part about including addtional installers, it is actually very complicated.  We are trying to figure out how to better explain the process, since we've been getting a lot of questions on it.  Hope this helps.
 
Kennon

Message 7 of 31
(13,334 Views)

Hi Kennon

Thanks for you answer - it lightens this topic up a little.

I luckily could manage to get it running today. Maybe you are interested in, so here are my experiences:

1. I created the Installer with this options: LV8.0 runtime, MAX4.0, VISA runtime, Fieldpoint, NI-Scope
2. The size of the directory was something around 750MB - but ok, let's forget about that
3. I installed the whole thing and it worked - yes it worked. One install and the application runs - so from me: great job NI (I'd give you stars if I could)

What I'm still wondering: As described earlier, I use datasocket vis, to communicate with profibus items over opc-server. This also worked, although I did not include datasocket in the installer. In addition, I uninstalled LV realtime, but still had to insert the LV realtime module cd, if I wanted to include datasocket in the installer.

Anyway - the result is what counts, and this is what I waited for a long time - the possibility to create one installer to get an application running on a target pc.

Thomas

Using LV8.0
--------------------------------------------------------------------
Don't be afraid to rate a good answer... 😉
--------------------------------------------------------------------
0 Kudos
Message 8 of 31
(13,320 Views)

Thomas,

Thanks, I too have been waiting for us to have the ability to build installers that include all the drivers and related software you need. There was a lot of work that went into it by a team of people here at NI. Their work is being used in LabVIEW, CVI and TestStand now for generating such installers. I'll pass along your complements to the people involved.

So you unchecked DataSocket yet your DataSocket communications are still working? I think that might be due to DataSocket being included through one of the other installers. When you check an item we'll include all the dependencies that you need. Most of the time those dependencies don't show up in the list of additional installers, because they are lower level drivers and software you don't interact with directly and don't need to know about. Some of the items that are dependencies for other installers do appear in the list such as DataSocket, LabVIEW Run-Time Engine and MAX. FieldPoint for instance is dependent on MAX and will include it if you are including FieldPoint. If you check MAX too, the Installer Builder will only include one copy of MAX. I'm not sure which of the other items is dependent on DataSocket but it could be getting included that way. Another possibility is some older LabVIEW Run-Time Engines are being included in your installer because of MAX and they include an older version of DataSocket as part of their installer not as a dependency so it could get included that way, but that would be an older version of DataSocket and not what you are using on your development machine. Since you know you are using DataSocket I recommend checking it, so you know the version you are using will get included.

When you uninstalled LabVIEW Real-Time, the core portion of LabVIEW Real-Time was removed, however any dependencies it had that are also a dependency of another NI Installer would not be removed. As I mentioned earlier LabVIEW 8.0 installed DataSocket and the Real-Time Installer upgraded it. The installers have the necessary logic to know that just because RT installed a newer DataSocket we cannot remove it with RT because LabVIEW depends on it as well. When you ran the RT installer the progress bar probably showed installing part X of Y, and when you uninstalled it there was also a progress bar that showed removing part X of Z. Where Z is a smaller number than Y because some dependencies of other products were updated and they can't be removed until all the installers that need them are removed.

So the next question is "I want to rebuild this installer without having to put the CD in. How can I do that?" The ideal answer would be for us to have a check box on the dialog when you are prompted for the distribution that says something about copying the necessary files to your hard drive and you could choose to uncheck it. We didn't get around to putting that in for LabVIEW 8.0 but if you happen to use CVI you'll notice they have such a check box and as I said we use the same installer building technology so it wouldn't be unreasonable to see that in the future for LabVIEW ;). But what can you do right now?

One options would be to always copy your CDs over to the hard drive before you install them and leave the installers on your hard drive, that way the last place they were installed from was somewhere on you hard drive that can be found without user interaction. We don't do that by default since copying the LabVIEW CD(s)plus the driver CDs would really use up your free space. This is messy though because you have to uninstall everything and reinstall it.

Another option is to copy the distribution you are being prompted for (the entire disc) to your hard drive and then in the Installer Builder select NI DataSocket and change the Installer location path to the location you copied it to (the top level folder that has a nidist.id file in it). The press OK on the dialog, now the Installer Builder will look in that location for NI DataSocket, until a newer version is installed. We have had some problems with this mechanism not getting all the dependencies from the new location, so it isn't a 100% solution, but I just tried it for DataSocket and it worked.

The first option will catch 100% of the dependencies, where as the second option unfortunately won't.

Kennon

Message 9 of 31
(13,287 Views)

Hi there, Kennon.

Just wanted to let you know that these long, detailed, posts (both here and in the LAVA forums) are appreciated and do not go to waste. Don't fret about taking the time to post these and encourage as many of your colleagues as possible to write these as well.

Thanks.


___________________
Try to take over the world!
Message 10 of 31
(13,267 Views)