Directory NN is in the user profile, but is not listed in the RemoveFile table
Solution 1:
As far as I can see, the problem is in the usage of <RemoveFolder/>
element. If the 'Directory' attribute is omitted, it takes the directory of the parent component. In your case, it is a directory with Id="EFIMonarch". This explains why you get the warning for the outer directory (ProgramMenuDir), but don't get it for EFIMonarch directory.
Try replacing:
<RemoveFolder Id='ProgramMenuDir' On='uninstall' />
with
<RemoveFolder Id='RemoveProgramMenuDir' Directory='ProgramMenuDir' On='uninstall' />
Also, it is a good idea to be explicit for every RemoveFolder element.
Hope this helps.
Solution 2:
If other answers are still not working for you, try to check Suppress ICE validation
option, Visual studio will ignore these validations, just follow this route:
YourProject
-> Properties
-> Tool Settings