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

The old installer had an option to remove all NI Software via the command line:

Automating Uninstallation of NI Software - National Instruments
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LfWSAU&l=en-US

 

While the nipk  command line interface has the "remove" option there is no "remove all" feature. It is only possible to remove single packages.

We desperately need the ability to install the same package to multiple versions of LabVIEW. Specifically, we need support for symbolic paths as a destination (user.lib, vi.lib, instr.lib, etc). 

Basically duplicate the VI Package Manager's ability to install a package to multiple versions of LabVIEW. I think the VI Package Manager work flow should be duplicated as well.

 

FYI: 

https://labviewwiki.org/wiki/Package_Manager_Comparison

If you haven't seen it, GPackage (https://gpackage.io) manager is a new package manager that has a tremendous amount of promise. It offers the ability to install different versions of the same package simultaneously to a version of LabVIEW. This allows the creation of "sandboxes" where on a per project basis I can tightly control which version of software I'm using. Another way of saying it, I can prevent the upgrading one version of a library from having unintended effects across different projects. 

 

I would love to see NI package manager \ LabVIEW support a per project "virtual environment". I could see this being accomplished by creating a per project user.lib and instr.lib. But that's just one idea...

 

I highly recommend NI examine, in detail, G Package manager and incorporate its per project capabilities into LabVIEW and NI Package manager. The ability to install multiple versions of the same package on a per project basis solves quite a few problems. That having been said we would also need the ability to install one package globally and resolve conflicts between the per project and global versions of a library.

 

FYI: please be aware of the labviewwiki.org article comparing the three different package managers:

https://labviewwiki.org/wiki/Package_Manager_Comparison

I'd like the option to uninstall a package form both the ui and viia the command line but NOT uninstall its dependencies. see 

https://forums.ni.com/t5/NI-Package-Manager-NIPM/I-want-to-uninstall-a-package-and-NOT-uninstall-its...

for details.

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

Allow uninstall packages where pre/post uninstall actions fail. Right now, if the package has been created with an error in the pre / post uninstall action, then the package can't be uninstalled - the user is stuck with this package and can't even upgrade it.

NI Packages have attributes for Homepage and Maintainer's Email as listed in the control file. It would be nice to at least have an option to display the information in NI Package Manager.

When creating NI Packages with NI Package Builder, you are currently stuck with the limited set of categories/sections. It would help if we could customize this field.

I propose to allow adding dependencies in NI Package Builder that is not part of the active solution - and that are not NI packages. It should be possible to press "add dependency" and then type in the package name as free text

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.

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

We should be able to filter the Packages displayed by Feed. This would allow users to focus on their internal feeds and find packages quicker. Particularly when basic LabVIEW\TestStand shows 90+ packages (300+ with hidden shown), the drowns out the internal packages. This would allow for more categorization than the Maintainer and limited Categories (improvement idea) afford us currently.

2019-07-25_11h45_46.png

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

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. 

It would be helpful to be able to define additional Categories/Sections for NI Packages. This would help users quickly narrow down searches to find packages. This is needed since there is not a way to filter the packages by feed in NI Package Manager.

 

Current NI Package Categories/Sections

2019-07-08_14h18_38.png

When adding a Package Installer, NI Package Builder is currently limited to only configuring the options on the top level, first page of a suited installer (i.e. "NI-IMAQdx", etc.), but not configuration of the second page "Additional items you may want to install:", where it lists "recommended" items.  This means one cannot create a fully customized NI Software suited installation (like was possible in the past with the .spec file).

 

NIPB needs to analyze the installer configuration and expose a list of recommends/suggests for each top-level package or for the whole installer itself, just like Install.exe does.

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?

GitHub Releases is a place where we can host downloadable packages for our projects.

 

NI is already using it:

https://github.com/ni/niveristand-scan-engine-ethercat-custom-device/releases/

 

Each package is given a nice clear URL like
https://github.com/ni/niveristand-scan-engine-ethercat-custom-device/releases/download/v19.0.0/ni-sc...

 

How nice it would be if my NIPM feed could point to GitHub-hosted packages! This way, I don't need to maintain my own file server. I created a custom feed to try it out; this is what my Packages.gz contains:

 

Architecture: windows_all
CompatibilityVersion: 190006
Description: Provides support for the NI Scan Engine and EtherCAT custom device for NI VeriStand 2018.
DisplayName: NI Scan Engine and EtherCAT for VeriStand 2018
DisplayVersion: 19.0.0
Eula: eula-ni-standard
Filename: https://github.com/ni/niveristand-scan-engine-ethercat-custom-device/releases/download/v19.0.0/ni-scan-engine-veristand-2018-support_19.0.0.11_windows_all.nipkg
Homepage: http://www.ni.com
LanguageSupport: en
MD5sum: be9d301d98465ac3157fbb8b6cee370b
Maintainer: National Instruments <support@ni.com>
Package: ni-scan-engine-veristand-2018-support
Plugin: file
Priority: standard
Section: Add-Ons
Size: 38198876
UserVisible: yes
Version: 19.0.0.11

 

 

Alas, although NIPM accepted the feed, it did not allow the package to be downloaded ("Redirection to another URL is forbidden"):

 

nipkg-redirection-forbidden.png

 

It turns out that the nice URL above actually redirects to an Amazon cloud storage location, and the final URL is like

https://github-production-release-asset-2e65be.s3.amazonaws.com/150638172/d0544200-8d25-11e9-9a52-58...

 

Could the restriction on redirections be lifted somehow? Perhaps there could be an optional property in the feed to specify that a particular Filename is allowed to redirect elsewhere. Perhaps the feed creator can nominate one or more "whitelisted" domains for a particular Filename's redirection.

 

(originally posted in the NIPM forum)

It would be helpful to have the ability to duplicated portions of a Solution, such as package. This would speed up the creation of similar items using an existing as a starting point. I was looking for a button and/or right-click entry to duplicate a Package. However, the ability to duplicate would helpful throughout the NIPM GUI.

With the NI Package Manager we can now create packages for a variety of purposes (libraries, tools, APIs, stand-alone applications, plugins...).

 

However, there's currently a limitation with the dependencies. For example, if you want to create a .nipkg file that relies on the LabVIEW Runtime Engine that successfully deploys to any PC, you have 2 choices:

- manually install the LV RTE from NIPM on the deployment machine

- add the LV RTE (and your app) to a custom feed, and manually add that feed to NIPM on the deployment machine.

 

In any case, there's a manual operation for a user. This is because NIPM does not automatically search for NI feeds when installing a custom package (it only looks into already installed feeds).

 

There should be (at least) an option like this in NIPM (ideally it should be the default behavior)!

NIPM Options.png

 

This way, NIPM would behave pretty much like any other package manager (think Linux or mobile platforms)...

 

Useful links:

https://forums.ni.com/t5/SystemLink/Use-the-NI-feeds-to-find-package-dependencies/td-p/3811361

https://forums.ni.com/t5/NI-Package-Management/NI-Package-Management-Portal-READ-THIS-FIRST/ta-p/380...

 

--Eric