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

Please add dialog box in which you can choose where to install your software.

image.png

It would be super nice if NI would offer all their software through winget from Microsoft.

 

https://docs.microsoft.com/en-us/windows/package-manager/winget/

 

I understand that NI invested a lot in the NI Package Manager, so this idea could still simplify our lives even if NI would just offer to install the NI Package Manager through winget.

 

Currently, the flow is to:

  • Go to ni.com
  • Login (if not already logged in)
  • Go to the download page
  • Search for NI Package Manager
  • Download
  • Install

 

Using winget, a command like:

 

"winget install NI.PackgeManager"

 

would be the only thing to do to to install it.

 

Here is what's available currently through winget: https://winget.run/

 

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

In distributing software to customers (particularly through an IT group), a lot of the NIPM interaction ends up happening through batch files in an automated way.  In these types of instances we're running into either:

a) we want a hard lock on the software version (software is propagated through internal feeds) or

b) the system may have intermittent/limited internet connectivity or a proxy is in use.

 

When installing NI products, release feeds are automagically added to the feed list... and I REALLY don't want them there.

 

There's a nice GUI button to disable this... but again... trying to do thing as "hands-off" for the user as possible.

 

Supposedly this used to be possible through editing a config file:

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000015CMrSAM&l=en-US

 

But as of 20.7.X this method no longer seems to work.

 

It would be great if this could be added to the CLI interface or contained in some sort of accessible file that can be manipulated.

This may be a "bug" rather than a feature request.

 

But it seems as though when NIPM encounters an error in fetching information from one feed, it aborts checking all feeds...

I can see the benefit of this (if a computer is offline, it would prevent experiencing a time-out for 50+ feeds), but in some cases it becomes VERY difficult to install new software from feeds.

 

For instance:

-  Computer is loaded with NI software online.

-  Computer is installed at customer site, or into IT network, and is removed from outside communications

-  New LAN feed is registered for "custom" software

 

NIPM will not see any of the custom software because it errors out on the public feeds.  Work arounds are:

- Download and explicitly install packages

- Unregister ALL internet feeds (a non-obvious process, particularly for the NIPM feeds), reregister local feeds, try again.

 

It would be nice if there was some option I could enable that says "ignore errors and proceed with feed update"... or something.

When I go to download a new piece of NI software, there is an online installer which:

1) Installs the latest version of NIPM

2) Registers any needed feeds

3) Presents an installer dialog to user

4) Installs product

5) exits gracefully.

 

And is <10 KB in size.

 

It would be incredibly useful to be able to create such an installer through on of the available builder interfaces that points to (for instance) network feeds, or a partner feed, or something like that.

 

There are currently some "work arounds" but they all are rather complex, clunky, and require a level of BAT file execution that's not really easy.

(I could probably do this easier through LV coding, but if the LVRuntime isn't installed, that doesn't really help me :-))

Hi forum, would like to propose the idea above 👆

 

A brief explanation of the the idea would be, if the NIPM package is opened from an ISO of a local repository (running install.exe from a mounted ISO), NIPM should install the entire package from that ISO, unless the package have a mismatch inside the ISO. this applies for offline installers, where user is responsible to check the ISO's hash once it is downloaded.

 

if the package installation is requested from the feed list inside of NIPM, only then it should download from NI through the internet

 

just an idea... to reduce possible installation errors

Hello,

 

I want to distribute my packages with a specific feed. This can be very usefull to distribute application to customer and push updates. But if we use a specific feed, it's not straightforward. We can use the nipkg CLI command to add/remove the feed but it's not so easy to deploy to customer. It's often more easy to request IT to let NI Package Manager to have Admin right than to allow bat file for example.

 

So my idea is to give ability to install a package that also register the feed. After install the package, it can have access to updates more easily. If he uninstall the package it can interresting to unregister the feed. In this way, it can be also easy to update the feed by pushing an update of the package.

 

Note : I tried to do it with pre and post install command without success.

 

Best regards.

 

 

NI Package Manager currently only allows you to upgrade to newer versions of a package, not downgrade to a previous one, regardless of whether it would be compatible with other packages or not. For users that need to support applications built in an earlier version of the development environment,  the ability to revert to a previous combination (to ensure compatibility/minimum differences when doing a change for example), would simplify that process a lot. -Instead of having to make real or virtual backups of these continuously. Come to think of it it would be really really nice if the NI Package Manager alternatively could allow you to manage such development-environment snapshots for you(!).

 

A  related solution/idea would be to allow users to override the uninstalls currently forced by NIPM when uninstalling a package these depend on.

 

-In my case I would sometime want to be able to do this just to be able to then install the same (if a repair fails anyway) or a previous version of the package anyway. NIPM can warn me that this will render some other package useless due to a dependency to the package I am uninstalling - but let me choose to do so anyway (because I know that it will be a temporary issue as I will fix that with a new install afterwards).


Let's say you have a really busy day and you need to test an application, but you need to install the LabVIEW or any other application like Test stand, for example, you go to your computer and use the Package Manager to install it. Then you have to go to another office, meanwhile, you let Package Manager take care of the installation that takes around 4-5 hours.

 

When you are back ready to run that test you found that there is an error saying that you have not stored available to install the software, and you wonder why NIPM did not check that requirement? There are literally thousands of software that have always performed that check before the installation some of then show a warning or they simply do not allow to start the installation. We really need this on NIPM.

 

Please help me with these guys.

user can select path to install software

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.

Since NIPM creates/uses a custom/unique folder in %temp% for [Temp] files, it would be helpful to be able to create symbolic link to a file in [Temp] to be used in the custom executes. I ran into this trying to deploy a MSI installer with NIPB. If I had a way for NIPM to fill out the actual path to the .msi file in [Temp] in Post-Install action, I could easily have the msi installed silently and let NIPM delete the file aftwards for me. Instead I had to place the file somewhere else, [BootVolume], call install via Post-Install with my known path as an argument, and add a Post-Install All to delete the now unneeded .msi installer file.

In the "NIPM Era", removing all NI Software is very tricky.  First, you run "Add/Remove Programs" from Windows, go to NI Software, and try to get it to Remove All (this sometimes takes more than one pass, as you might have forgotten to ask it to remove updates).  This, in turn, invokes NIPM which does all the work -- NIPM itself "shows up" in the list of files, but cannot be selected (for obvious logical reasons).

 

Once everything is gone, NIPM still shows up in Programs and Features, but now the "Remove" checkbox is not disabled.  If you select it, you get Dire Warnings, but this is the only way to remove the "last" piece of NI Software (except when it isn't, but that's another story).

 

It would be nice if this process could be simplified.  One way to do this is to have NIPM detect that you have asked to remove everything except NIPM (because it is disabled), and have a Dialog Box pop up and say "Are you attempting to remove all NI Software, including NIPM?".  You could issue all the Dire Warnings at this point, and if the user chooses "Yes", you could do the appropriate two-step removal process, first removing "everything else", and when done, removing NIPM.  I realize that software removal, like software installation, sometimes requires a Reboot and "post-boot-up" code to "clean things up", but am confident that NI could figure out how to do this safely.

 

Bob Schor

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.

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