NI Package Management Idea Exchange

Showing results for 
Search instead for 
Did you mean: 

Expose "conflicts" and "replaces" relationships in NI Package Builder UI

Status: New



I used to distribute a software with non-package installer. Then, we switched to a package installer. It is built using NI Package Builder.
Unfortunately, NI Package builder doesn't uninstall previous versions as it doesn't know the relationship.


Please, could you implement in the UI the possibility to specify "conflicts" and "replaces" relationships as described in this document? 


Also discussed on the forum: 



Active Participant

Note that NIPB 20.0 added support for creating additional relationships between packages such as: Conflicts, Provides, Replaces, Supplements, and Enhances; however, as of version 20.5, NIPB does not support specifying relationships to custom package not installed, nor does it support specifying a custom value, such as a GUID for a non-package based installer.


A believe a possible workaround could be to create a virtual package using NIPM's nipkg.exe that has the required relationship, and packages that are built with NIPB could depend on that virtual package.

Scott Richardson
National Instruments

OK, thank you.

I hope possibility to specify relationships to a non-package based installer (using upgrade code) will be implemented.


For now, I implemented a workaround by adding a pre install custom execute:

Root: [System (32-bit)]

Relative Executable Path: cmd.exe

Arguments: /C wmic product where name="MySoftwareName" call uninstall /nointeractive


It is slow, but it works.