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

ICE validation