Suggestion: Add more "Path" validation/cleaning and consider that separate Path values maybe stupid for some targets, given hard length limit.
I don't thinks some of these are currently done for the "Path" variables:
-
Automatically cleanup both "Path" variables to remove redundant (later) folder path values, on loading/update from the Registry and the File System, just like missing paths are automatically Flagged Red.
-
Yellow Flag a value in both System and User "Path" variables, where it exists in both.
-
Add a right click option to search all values in the Path for contained filename conflicts, and list each group in a non-modal on-top sub-window, with overlapping file names, so that the selection of an affected group flags all the members Orange in that Path variable.
-
And a feature to the sub-window for 3. allowing all values to be sorted, while ensuring that any filename overlapping group of values are not swapped with each other; with sort ordering preferences for a list of folder values configured in Options e.g. C:\Windows based folder values at the top for System.
-
Path entries look stupid for values with only a fixed number of target executable files, so maybe better replaced by Soft-links to the target files, in a reserved and protected directory only for Soft-links, one each for System and User, configured/enabled in Options e.g. named "sbin" like *nix OSs. The folder for System must be in %ProgramData% and the User one must be in %USERPROFILE%. These folders could be on-request populated from a stored, ordered list of directories, each with a list of wild cards for the files to Soft-link. There should be a fixed exclude list for some base folders e.g. System "SystemRoot" value. This would need to be managed somehow, including revering the process by adding the folder back to the relevant "Path", and deleting it's soft-links. The only drawback I can see is that the number of Soft-link in the folder may need to limited if file lookup can become sluggish for the Soft-links folder.