NI Package Management Idea Exchange

Community Browser
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

During installation, we cannot minimize NI Package Manager (NIPM) window even if the window has "_" button at top right of the screen.

I guess this is because the instalaltion window is set to "modal" so, we cannot touch NIPM window.

 

In addition, we cannot move NIPM window. The window hides my desktop icons so, it's annoying.

What: installing a package on a newly installed machine where only NIPM has been installed. Dependencies to e.g. DAQmx Runtime and Labview Runtime

The problem: the installation will fail as NI Package Manager does not know the feed locations for the dependent packages. If these packages had been installed previous and uninstalled, then the feeds would be known and the installation could pass.

Proposed solution: Whenever a package requires NI products as dependencies, the Package Manager should automatically search / add the feeds from NI.com and install them

I find myself installing for virtual machines often lately and I'm trying to minimize installation of packages that aren't needed for the sake of space. It would be great to have a way to deselect all of the support packages for various IDEs. For example, if I only work in .NET, let me deselect LabVIEW support. I currently only develop in LabVIEW and scrubbing the list for all of the C or .NET support packages is super tedious.

picklecolor2_0-1619638732575.png

 

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.

the package manager seemed like cannot even populate nor remove installed packages without internet connection. is it a bug? as mentioned from the other ideas posted previously, not all operation computers are granted internet access. please look into it. thanks

 

just a suggestion, installer packages should be given the option to able to be installed/removed by itself, with the PM being a complementing tool, especially for inter-version compatibility during this transition period.

Hello

 

In addition to the idea mentioned in the following post, 

https://forums.ni.com/t5/Additional-NI-Software-Idea/NIPM-queued-amp-scheduled-download-amp-install/idc-p/3963380#M541

would like to propose that the NI offline package to be installed entirely in offline mode, rather than trying to connect and fail, whenever a connection seemed present. 

 

and on top of that, offline installers to be able to be integrated into a local repository in our own network, and packaged distributions can be directed to them, as not all operation PCs are given access to the internet. For the time being, let the browsers handle auto-resuming downloads. 

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).

If a package fails to install, there is never anything helpful presented to try to diagnose the problem. 

 
 
 
 
 
 
 
 
 
 
 

image (8).png

 

This is hot garbage.

 

I end up having to run nipkg.exe from command line to get some modicum of feedback, but even then it's usually still insufficient.

 

My latest use case is that I have created a pre-install.bat file (configured to run as a pre-install custom execute, per my package build spec), and that bat file is intended to throw an error (set nonzero return code and route message to stderr) if some required dependencies do not exist. I went to the trouble of doing these sanity checks and building meaningful errors, but they don't actually get exposed when I run the installer, so I'm left guessing as to what went wrong.

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.

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

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).

Our IT department has now opened up using NI Package Manager to install LabVIEW, and is leaving it to us to do these installs, reducing their role largely to managing licensing. This even includes installing the IDE for our coders.

 

I can't complain that they've opened this up, except that there are a lot of choices to make, not just in what main elements to install, but in option selections in prompts presented by the installers. it would be nice if we could have NIPM build up a script of all the elements we're installing (IDE, extras, drivers) and all the selections we make during this process. It should then save the script when the NIPM session ends, and allow appending an existing script should a script be built up over multiple NIPM sessions that might be interrupted by a restart required by one of the installs.

 

Ideally these scripts, when run, would either bypass the restarts normally requested after some installs until the end of the complete process, or would auto-continue after restarts that couldn't be skipped. Also important would be having it gather together all license/agreement requirements into a single prompt at the start of the script so that they can all be accepted at the start of the process rather than being prompted as each element install starts, or, better yet, have the script do a "silent" install with all licensing considered to be accepted and no prompts appearing.

 

Additionally, these scripts should then be editable so that if users discover they need additional drivers or libraries, different versions, or don't need some elements, they can be added to, revised, or removed from the script. It would also be great if we could make scripts that included uninstallations in the script, so scripts to upgrade from one revision to another could be built.

 

My vision for these scripts is a simple collection of scripts that would let us quickly get any user or test system up and running with everything needed, whether it's a new employee or an existing user or system getting a computer refresh, with minimal hand-holding of the process and no (or minimal) mistakes. My thinking is we could have a small handful of installer scripts that would fit the needs of 90%+ of our different systems that all use LabVIEW, leaving one-off systems to need only a few NIPM runs to complete their setups.

 

Thanks,

Erik

Hope the package management interface has a choosing install path option.

 

 

David 

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

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.

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? 

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?

Maybe I'm doing it wrong, but every time I get a software activation prompt from NIPM, it has no recollection of which volume license server I connected to the last time. Shouldn't this be stored persistently so we don't have to enter the information repeatedly? I rarely remember the volume license server name off the top of my head because I don't activate things often enough.

 

Thanks,

 

Mr. Jim

 

VolumeLicense.png

When installing NI software with NIPM, it would be useful for NIPM to be able to connect to VLA server and determine avalable software to install based on the available licenses.

 

Example:

  • A user wants to install NI software and contacts the VLA administrator.
  • The VLA administrator assigns software rights to the user/computer and instructs the user to download and install NIPM and connect to VLA server
  • The user installs NIPM and is given an option to select software based on the VLA

This could be used instead of a "Volume license installer" avaliable in VLM.

 

Best regards

Matej Zorko

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...