So I thought I'd try out the Add Palette to Library or Class option when building a package and I found a few limitations, but first let me mention a bug that I think prevents it from working properly.
I tested the feature by building a package and checking the box, then selecting a .lvclass file that is in my source. I then built the package and installed it. But when I right clicked on a class constant or a member of the class the root palette didn't show up like I expected. I opened the installed class and saw what in my case was the "functions_Hooovahh_CAN.mnu" file added to the root of the class. I also opened the class in a text editor and saw the line:
<Property Name="NI.Lib.DefaultMenu" Type="Str">functions_hooovahh_can.mnu</Property>
The problem I see is that this is a case sensitive operation. I editing the text in my class file to read:
<Property Name="NI.Lib.DefaultMenu" Type="Str">functions_Hooovahh_CAN.mnu</Property>
Then closed and reopened LabVIEW and my root menu now shows up if I right click a node on the block diagram. This was built with VIPM 2016 SP1 2016.0.1 build 1991.
In addition to this I think this feature is a bit limiting. This feature only works if you are building a package with one class or library in it. My reuse library is build in ways that mirror the NI palettes, and as a result having a palette like "File I/O" means there are several subpalettes each potentially with their own library. Being limited to only selecting one library for a package means this just doesn't work properly. What I think would be a neat feature is to look at the members of a class or library, then figure out what is the most root palette created that a member belongs to, and then add that mnu to the library and adding the default menu there. I think I can do this in a post-install VI but think others might benefit from a simple one click checkbox which would do this for you. It is also possible that I'm the only one that has more than one library or class in a package.