The Menu directories are currently removed even if multiple apps share the same folder. In other words, if two apps install into the same Start Menu directory, uninstalling one of these apps will remove the entire directory. This is a regression from menuinst v1.
The same behavior happens on Linux, which doesn't appear to be the intention since _remove_this_menu() is only called if there are no additional items in the Menu. The unlinking happens regardless though.
This PR ensures that the Menu directory is only removed if the directory associated with Menu are indeed empty after all MenuItems have been removed.
I also noticed that when removing a Windows Terminal Profile via conda, the message "Could not find terminal profile for {name}.", presumably because the remove operation is executed twice. I think that message isn't helpful in either case, so I removed it here (not worth a separate PR).
Checklist - did you ...
[X] Add a file to the news directory (using the template) for the next release's release notes?
Description
The
Menu
directories are currently removed even if multiple apps share the same folder. In other words, if two apps install into the same Start Menu directory, uninstalling one of these apps will remove the entire directory. This is a regression frommenuinst v1
.The same behavior happens on Linux, which doesn't appear to be the intention since
_remove_this_menu()
is only called if there are no additional items in theMenu
. The unlinking happens regardless though.This PR ensures that the
Menu
directory is only removed if the directory associated withMenu
are indeed empty after allMenuItems
have been removed.I also noticed that when removing a Windows Terminal Profile via
conda
, the message "Could not find terminal profile for {name}.", presumably because theremove
operation is executed twice. I think that message isn't helpful in either case, so I removed it here (not worth a separate PR).Checklist - did you ...
news
directory (using the template) for the next release's release notes?