NI Package Manager (NIPM)

cancel
Showing results for 
Search instead for 
Did you mean: 

Package Versions between Package Builder and LabVIEW

NI Package Manager (21.3 at least) does not handle different packages when one uses the X.X.X.X notation (Package Builder), and then switches to use the X.X.X-X notation (LabVIEW). (Difference being the '.' or the '-'). Sometimes in our software development we find the need to switch how we build a package from one to the other. If we do so, and keep everything the same (package name), the different notations for versions mess up how Package Manager shows updates. You can't change Package Builder to use a '-' because it complains. So is there a way to get Package Manager to be able to compare between the two versions. Or which method '-' or '.' should be the true method, and why the difference across products.

0 Kudos
Message 1 of 4
(1,815 Views)

ShockHouse, you are correct that LabVIEW uses the - character and NI Package Builder uses the . character between the third and fourth number fields in the version, and that NIPM will consider packages that use the . character to be newer than packages that use the - character when the first three fields are the same and regardless of the value of the fourth field. There is no mechanism to change NIPM's method for doing this comparison as it comparison is based on the Debian version format.

 

The only workaround that I can suggest is that after you build a package with LabVIEW, you could script nipkg.exe to unpack the package, update the version in the control file to use the . character, and pack the package again. If you using LabVIEW to build feeds and/or installers, this workaround might not work because the package included in the feed or installer would still contain the - character.

Scott Richardson
https://testeract.com
0 Kudos
Message 2 of 4
(1,792 Views)

Is this just a bug of LabVIEW then, in using the '-'. Or was there was a particular reason to have the difference?

 

ShockHouse_0-1674077011032.png

It just seems odd when the graphic for the version in the LabVIEW Package Build Spec even shows a '.' and not a '-'.

 

0 Kudos
Message 3 of 4
(1,749 Views)

ShockHouse, the team that developed the builder chose to use hyphen when they developed this near the first release of NIPM in 2019, and backported to support earlier versions of LabVIEW. I have been aware of this difference, but to date I was not aware of anyone raising any negative impact until now. I suspect that it is very rare for users to build the same package with LabVIEW and another builder that uses a different delimiter, i.e. NI Package Builder, TestStand Deployment Utility, LabWindows/CVI, or LabVIEW NXG. Not sure why the UI shows the period character; that might have been changed later by some non-developer that did not realize that the actual character exported in the package is a hyphen.

 

If LabVIEW or NI Package Builder were to want to change, it would have to either allow user to configure, or change delimiter for new specifications/solutions only as to not break compatibility. I have shared this forum posting with some in LabVIEW as an FYI. I do not know if and when LabVIEW would consider changing this.

Scott Richardson
https://testeract.com
0 Kudos
Message 4 of 4
(1,745 Views)