NI Package Manager (NIPM)

Showing results for 
Search instead for 
Did you mean: 

Distribute PPLs in packages


I have problem wrapping my head around how NIPM is meant to work.


Lets say I have created A.lib that is later required by other SW components. So I create package A and distribute it to other users. They can use NIPM to install it.


Later someone wants to create another library B on top of that one and distribute. When I create PPL that uses my A.lib it is added to dependencies automaticly by LV and package B contains now data of package A. 


Is there a way in LV project to specify that referenced components are comming from packages so they are not pulled into my new distribution? If no how can I build top library and include only new files (not comming from dependent packages)?


To my understanding package B upon creation should only contain my new B PPL + information that it requires to install package A since it depends on it.


Why package can not contain simple VI? Package manager in general should not care what I choose to include, I can choose to include other binary files and that is no problem. I wanted to create package from test scenario that has TS sequence files packed libraries that are meant to be separate packages and simple VIs (there is no point in packing them since it works with LV develpoment). 


Thanks for clarification!

0 Kudos
Message 1 of 4

If you want to distribute raw VIs, I would recommend building a source distribution and then including the source distribution in your package. That will ensure all of the links are fixed up. 

0 Kudos
Message 2 of 4

Thanks for reply.

I have tested saource distribution and it wortks fine. The only problem is it creates set of directorise as a result to make sure all VIs are linked correctly.  When I put this into package I can not choose destinations I want to because of this additional folders it created.


0 Kudos
Message 3 of 4

In your earlier post, it sounded like you were creating a "Package B" buildspec that included a "PPL B" buildspec as a source file.  But the problem is that the "PPL B" buildspec was pulling dependent "library A" files into the Package.  To avoid this, you could 1) build the PPL (e.g. PPL-B.lvlibp), then 2) Add PPL-B.lvlibp as a file in the LabVIEW Project Explorer window, and then 3) select the PPL-B.lvlibp file instead of the "PPL B" buildspec when creating your Package B buildspec.  So Package B will only contain that one PPL-B.lvlibp file and not the other dependencies.  Additionally in the Package B buildspec, you can specify a dependency on Package A (which installs Library-A.lvlib).


For your last question, are you able to attach your LabVIEW project/files so we can see/reproduce exactly what you're describing?

Message 4 of 4