NI Package Management Idea Exchange

Community Browser
Top Authors
cancel
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

It could be usefull to have authentication capabilities in NIPM in order to create private feeds. Feeds stored on Microsoft Windows folder / shared folders can use Windows authentication but there is nothing available for feeds accessed with HTTP requests.

 

Something like username/password or API Key in HTTP headers, if possible a mechanism to be compatible with all storage plateforms (AWS, Artifactory...).

I'd like to be able to select a collection of nipkg files in e.g. Windows Explorer and use NIPM to install them in the correct order based on their interdependencies.

 

If I create a local feed and add that, then NIPM will allow this via selection in the Packages tab.

 

However, there doesn't seem to be a method to select multiple files that are not in a feed using a GUI (Windows Explorer or NIPM etc).

VIPM has an "Open Package File(s)" menu item that fills this role.

 

I think (although I didn't test, because I didn't consider this when I was running into this issue) that using "nipkg.exe install A.nipkg B.nipkg C.nipkg" would work for this, so there is a workaround. I just didn't consider it earlier...

When you have an update available for a package, you cannot access the details of the package. So you don't have access to the detils of the update. You must manually find the corresponding package in the product view and select the version to install to have access to the details.

 

At least a way to access to the product details page from the available update page.

I'd like a way of "blacklisting" an NIPM package, even if it's in a feed and selected for install For example, I could register the feed for the package "ni-labview-2020-core-x86-en" and also want to install all of the recommended packages (using the --include-recommended flag), except for one. Let's say for some reason I don't want Report Gen Toolkit, for example.

 

The only option I can currently come up with is installing LabVIEW 2020 without any of it's recommended packages, then installing all of the recommended packages separately, except omitting RGTK. It would be really great if there was a command to simply prevent RGTK from ever installing, even when using the "--include-recommended" argument.

 

In terms of use cases, let's say an administrator wants to give their users some freedom, but never wants a particular package installed (or upgraded past a certain point) for some reason. This would be similar to the dpkg or apt functionality described here (https://www.linuxuprising.com/2018/10/how-to-keep-package-from-updating-in.html) or (I think) the okpg "flag" operation described here (https://openwrt.org/docs/guide-user/additional-software/opkg).

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 http://www.ni.com/documentation/en/ni-package-manager/latest/manual/control-file-attributes/).

 

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.

 

Thanks!

 

DGriffithJr

 

 

https://forums.ni.com/t5/NI-Package-Manager-NIPM/I-want-to-uninstall-a-package-and-NOT-uninstall-its-dependencies/m-p/4041272#M423

 

C:\ProgramData\National Instruments\NI Package Manager\packages is a black hole. Files enter but never leave -- my PC has collected so many old (and now-useless) packages over the years, e.g.

 

  • ni-package-manager_17.5.0.49152-0+f0_windows_x64.nipkg
  • ni-package-manager_18.0.1.49152-0+f0_windows_x64.nipkg
  • ni-package-manager_18.0.2.49152-0+f0_windows_x64.nipkg
  • ni-package-manager_18.5.1.49152-0+f0_windows_x64.nipkg
  • ni-package-manager_19.0.0.49152-0+f0_windows_all.nipkg
  • ni-package-manager_19.6.0.49152-0+f0_windows_all.nipkg

 

It is safe to delete these. If NIPM needs to re-install the package, it simply re-downloads them.

 

Please add a way on the NIPM GUI for users to easily clear the package cache. Bonus points if there's an option to retain the versions that are currently installed (I believe NI Package Builder grabs the packages from this folder?)

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

This probably applies more to building a NI Package via Application Builder, but would be helpful if you could do it with NI Package Builder (NIPB). It should be easier to call a VI(s) as a custom execute steps of a package. You can do this currently by making your VI follow the LabVIEW CLI pattern. However this does requiring a lot of manual entry from the user to do in NIPB, thus being error prone. Also to do with the Application Builder, you have to make a batch file and add that to project even thought the batch fill does not need to exist other than to do the install/uninstall.

I'd like to suggest that the package manager be updated with a feature to download an offline installation directly, instead of installing on this machine. It would be more convenient to use the package manager to gather the software I need to install on offline machines rather than trying to search the NI website. Then, for some products, I have to install it on my machine first, then create a feed from that installation to move to another machine, a direct offline download would save a lot of time and frustration trying to gather everything for offline machines.

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.

As discussed in this thread, it would be helpful to be able to programmatically change the NI Package Manager settings. I personally am interested in changing the highlighted defaults. Maybe this could be done via the NIPM command line interface. Or a setting file, so it could be deployed as a NI Package.

Settings of InterestSettings of Interest

NIPM of offline SPB images to allow RTE to be installed independently without having to install the LV development package. Imagine the user is keeping the SPB image (which is supposed to have almost all software packages) in company server, only to find out that the RTE cannot be installed at end user PC without having to install the development package. and offline package installation that is supposed to be offline, is subjected to poor internet connection. my attempt failed 2 hours in... Smiley Surprised , have to resort to individual RTE download soon after...

 

better still if NIPM can capture the "missing RTE" dialog during application launch and launches itself automatically with option for users to point to local repository locations for "off-lined" offline installation 

It would be helpful to have options in NI Package Manager that would show the Major & Minor updates for installed software as well the patches. Ideally this would be a configurable in NIPM to allow the users to see what level they would like. This has come up in a few forum threads lately.

Thread 1

Thread 2

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 must be a better way to uninstall NIPM without having to uninstall all NI software as a prerequisite, at least that I hope there is

knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kJ6oSAE&l=en-US

 

do consider allowing NIPM to be uninstalled independently, as I believe most of the pre-NIPM era users have and still require those 8.5-201x LabVIEWs (for maintenance and backward compatibility with legacy hardware) that were already installed properly (with kinks ironed out). NIPM to rebuild the feedlist based on pre-NIPM-install NI software products, maybe? 

displaying the package size in the feed list can give user an idea when to schedule installations/updates based on their network traffic trends, like in Update Service

think NI should allow the already stable and robust Update Service to download the latest packages/update and install them, while continue to fix/upgrade NIPM, Shouldn't put all eggs in the same basket. The current and recently updated NIPM is so frustrating that it can fail before initiating the download. the previous version kicked the bucket after hours into downloading, failing within inches from the finishing line. please consider not all users have fast and reliable internet connectivity.

an avenue for reporting bugs/error? other users encountering the same issue can also contribute more information for better debugging... post can be internally-archived/removed once issue is resolved 

 

earlier today, updated the NIPM and now the mouseover event over the feed list for updates (over 2 seconds) crashed the NIPM (Debug/Close program) without any option of sending error reports

It would be nice if the IDNet instrument drivers NI host for LabVIEW 20xx were available as NI Packages. Currently only LabVIEW NXG instrument drivers are available as NI Packages. Also it would be nice if they were available to be searched from within NIPM.