01-31-2006 08:07 AM
01-31-2006 08:19 AM
01-31-2006 08:25 AM
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.
01-31-2006 08:34 AM
Just in addition: the ini-File which is created by the installer
01-31-2006 08:43 AM
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.
01-31-2006 08:46 AM
02-01-2006 09:55 AM
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
02-01-2006 10:09 AM
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
02-01-2006 04:18 PM
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
02-02-2006 01:33 AM
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.