LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Generate list of package dependencies

Is there still no way to generate a list of the installed NI and third party packages/tools used in a project? I know i can use source distribution and include all of the dependencies from vi and instr.lib but that just makes for a gigantic distribution. I am pretty sure i used only RT, FPGA, DAQmx, and DQMH, but others tend to sneak in there. What I really want to do is just include my custom written source (zip) and a list of the NI packages with what version was used in the project. The next developer (next week, or in 5 years) can go ahead install the needed/listed packages, open the .lvproj code and see no broken arrow or missing dependencies. 

Can someone point me to some documentation or a thread on the best settings to accomplish this whether it's a zip or source distribution build?

0 Kudos
Message 1 of 5
(289 Views)

As of 2023 Q1, projects should be able to identify NI drivers https://www.ni.com/docs/en-US/bundle/labview/page/labview-2023q1-changes.html#d68112e25

 

As of 2024 Q1, JKI dragon should let you identify VIPM packages used https://www.ni.com/docs/en-US/bundle/labview/page/labview-2024q1-changes.html#d20766e34, this adds a sidecar file for tracking these.

Message 2 of 5
(273 Views)

Unfortunately I have been forced to use 2020 on this project because it's already on the system that the code will be deployed to, nice to hear I have something else to look forward to when I use 2023+. 

 

It's tempting to install 2023 just to try this out and get the list.

 

Anyone have a workaround for LV2020?

0 Kudos
Message 3 of 5
(261 Views)

For VI packages, you can start with "Scan project dependencies" from the VI Package Configuration Editor of VIPM. That will give you all the installed and used vip files in the project. It used to be part of VIPM Pro but has been part of the free edition for some time. I have not looked at Dragon, yet. It will probably do the same (and more).

 

Next, LabVIEW (since 2022 Q3 or so) can scan for NIPM dependencies with a button on the menu bar. The VIs are in <resource>\Framework\Providers\PackageDependency, so you can probably use this programatically. The folder contains an XML Project Parser.vi that looks like a partial solution that could work for previous LabVIEW versions.

 

PackageDependencies.png

 

That all depends on you not rummaging around in vi.lib and other locations, of course.

 

Sam Sharp has been doing work on creating an SBOM generator (software bill of materials). See here: https://forums.ni.com/t5/Test-System-Security/LabVIEW-SBOM-Generation-TSS-Oct-2024/td-p/4400825

 

 

Message 4 of 5
(225 Views)

So I had to update VIPM to the newest version, but that's pretty nice that config editor is now part of the free version. I had no idea. Finding dependent vips worked well as you described. Knowing that I can now easily include vip with the config editor into zipped up project code will definitely make it a lot more likely that i will include some tools that i normally wouldn't have in the past. Thank you for that. 

 

Your code snippet is LV24, and I'm using 20 because of the system that this code will be deployed to, so that PackageDependency folder is not part of the version I am on for this project, thanks for the suggestion.

Sam's work on the SBOM looks interesting, but i think it will be easier for me to just do a trial and error at this point with the few packages i know i used. I can try to open the code on a VM i have to see what ends up missing, then add the NI packages to resolve the missing dependencies. 

98% sure i know what packages i need but was just hoping for a quick check method like the one for VIPM you provided. 

0 Kudos
Message 5 of 5
(195 Views)