NI Package Management Idea Exchange

Community Browser
Top Authors
Showing results for 
Search instead for 
Did you mean: 

NI Package Management Idea Exchange

Post your ideas that are related to NI package management. This includes NI Package Manager, NI Package Builder, creating NI packages (.nipkg), distributing NI packages (.nipkg), managing feeds, and more.

Post an idea

Please allow a user to see which package(s) that were manually selected lead to the automatic removal of each package in the "will be automatically removed" list.


If you select some packages to remove, sometimes the uninstall dialog lists a collection of packages that depend on something you've selected.

These must also be removed if you want to remove whatever you selected (so as not to leave them broken).


However, if I select a collection of packages to remove, and see something in this list I want to retain, it can be difficult to see which package I should remove from my selection (after pressing cancel) in order to not trigger the removal of the package I want to retain.

The NIPKG format allows dependencies to be listed by package name, and of particular interest, groups of packages to satisfy a dependency - that is, a dependency can be satisfied by any one of a collection of packages (see the "|" character at


Meanwhile, many packages are available in more than one format - e.g. NIPKG, VIPackage, GPM package.

However, if I install package A with VIPM, and package B depends on it, but I try to use NIPM, I'll see I have a "missing" dependency.

Worse, if I now install 'package A' with NIPM, (assuming the packages are equivalent) both systems will believe I have the package installed, but uninstalling from either won't affect the other (leading to broken code).


Could NIPM gain the ability to allow specifying dependencies on non-nipkg packages?


This could be either via specific other package managers that could be checked (VIPM, GPM?) or perhaps via some "pre-install dependency scanner" VI.

In the former case, perhaps I could list "PackageA|VIPM::PackageA" as the dependency.

In the latter case, I as the developer of B could write a VI which checks some details (e.g. existence of specific VIs on disk, or call into VIPM/GPM, etc), and then output a boolean indicating if I (the package B developer) believed my dependency on "PackageA|VIPM::PackageA" (by package name) was satisfied. (In this case, I'd probably just give the dependency as "PackageA" though...)


I think this would be useful especially when sharing code more widely.

I don't expect that this idea would cover searching for packages in other managers' repositories though - if it fails whatever "is currently installed?" test, and can't be sourced from NIPKG feeds, then the install should give the current dialog (missing PackageA).

Because I have the situation below posted in the forums, I thought it would be a great improvement to down-rev a package without first having to un-install said package and end up removing packages that list the subject as a dependency.  That way if I ran into an issue with an update, I could easily revert to the previous package without affecting any other packages.






As I have come to using NI Package Manager (NIPM) more, I have come across a few user experience issues that need to be improved for NIPM. This is mostly centered around downgrading package version. Most of these are currently available in VI Package Manager


  1. For installed packages, you cannot downgrade/change versions of the package. To do this, you must first uninstall the package so you can select the version you want from the Packages screen. (Installed packages are removed from the Packages screen's listing.) There should be at least an option to show the installed packages on the Packages screen so a new version can be selected. It would not hurt to have the ability to select version(s) on the Installed and Updates as well.
  2. On the Updates screen, we should be able to select the available versions if there multiple upgrades available.
  3. If you install a package that requires a downgrade in a dependency, currently NIPM does not let you install that package. It can be down via the NIPKG command line interface (CLI). There should be at least an option/prompt to allow the downgrade. This capability seems to be able to be added by NI as I was prompted to Allow Downgrade/Removal when I updated InstrumentStudio last year. Our packages should be able to do this prompting as well. At least there could be an option added to NIPM that would allow downgrades/uninstalls so that this could be done via the GUI. Also the dialog could give more information about what specifically the issue is.

Too generic message without any recourseToo generic message without any recourse

I propose to add pre- and post build actions to the LabVIEW package build spec as already present in e.g. executable build spec

I've been informed by NI support that current versions of LabVIEW can only be installed silently by installing Package Manager first and then using batch scripts for installation. Previous versions of labview supported silent installation using typical msiexec flags. The current tool, INSTALL.EXE only supports a passive switch which requires an interactive gui for it to successfully run an installer with application options other that the Package Manager. This is far from an ideal situation for mass deployment to computer labs and it ends up causing a waste of time and effort. Please add silent installation options to install.exe and add the ability for INSTALL.EXE to show installation parameters when it is passed some sort of common help parameter (such as --help, -h, -? ). 

There are situations packages may have conflicts with each other. If we can specify the conflicted packages in the package build spec, It will be very helpful.


This is an existing feature on JKI's VI Package Manager. It uninstalls conflicted package with the new install.

recent installation of SPB2019 from an offline installer package (due to poor connection) in my new machine has included a malfunctioned LM (constantly fail to connect server), and solution provided was to remove and reinstall the LM. Upon the initiation of the removal, NIPM removed all installed license-able (but yet to be activated software) software from my machine... with no possible way to stop the process... the HORROR on my face is no less than this guy here => Smiley Surprised


can I suggest LM removal to remove the LM and activated licenses only; rather than all the other un-selected, but license-able software?

The Control File Attributes page shows as an example near the bottom the following:

In the following example, the Depends attribute declares a dependency on package01 version 2.2.1 or later, and states that package03 is an alternative package that satisfies the dependency on package02.

Depends: package01 (>= 2.2.1), package02 | package03


However, it doesn't indicate which package will be (automatically) installed if both package02 and package03 are available in feeds, and neither is installed.


If the first is always the chosen package, can this please be clarified in documentation?


If the order does not determine the package (but instead it depends on the feed, etc) could this either be

a) changed to order, or

b) clarified in documentation along with some manner to manipulate the preference?