This document is part of the NI Package Management Portal.
Introduction to NI Package Manager (NIPM) Packages
What is an NI Package Manager (NIPM) Package?
An NIPM package file is a .nipkg file, as shown below.
An NIPM package has the following:
- Installation files—An NIPM package installs files to their specified destinations on the target computer
- Metadata—An NIPM package contains metadata, such as version, description, release notes, category, maintainer, and more. You can define a package's metadata, view the metadata, and search/filter packages using the metadata.
- Dependencies—An NIPM package can have defined dependencies. Let’s say Package A v2.0 is dependent on Package B v3.0 and Package C v4.0. If you try to install Package A v2.0, then NIPM knows that it must first ensure that Package B v3.0 and Package C v4.0 are installed first.
In the example below, the Acme Filter Test package can depend on specific versions of both user-created packages and NI-provided packages (e.g. NI-DAQmx 18.0, LabVIEW 2018 Run-Time Engine, etc).
Example
In the following example, imagine you have a componentized LabVIEW application that consists of the following components:
- Main EXE (built using the LabVIEW Application (EXE) build specification)
- Plug-ins (e.g. modules, hardware abstraction layer instruments, packed project libraries, etc)
- Required NI software (e.g. NI-VISA Run-Time, NI-SCOPE Run-Time, LabVIEW 2018 Run-Time Engine)
Now, you want to distribute these components using NIPM packages. You can build a package for each component and define the dependencies as shown below.
User-created packages in blue. NI software packages in yellow.
You might even want to create a higher-level package that make more sense to your end-users who will be performing the installation. For example, your end-user might prefer to just select their Test Station and Device-Under-Test (DUT) and trust that all the necessary software will get installed.
Higher-level user-created package.
Next: Introduction to NIPM Feeds