
On 7/24/22, Barry Scott <barry@barrys-emacs.org> wrote:
On 21 Jul 2022, at 16:42, Christopher Barker <pythonchb@gmail.com> wrote:
However, I’m no Windows expert, but I *think* the modern Windows file system(s?) support something like symlinks. It’s an under-the-hood feature, but maybe it’s possible to add a symlink for bin.
It has symlinks but only available if you are administrator.
Creating symlinks requires the filesystem to support NT reparse points. That's guaranteed for the system volume, which must be NTFS, but it's unreliable when development is spread across various filesystems. This is the main obstacle to relying on a "Scripts" -> "bin" link. It's not technically correct to state that creating symlinks requires administrator access. It requires SeCreateSymbolicLinkPrivilege, or no privilege at all if developer mode is enabled for the system in Windows 10+. By default this privilege is granted to just the administrators group. However, an administrator can grant it to any user or group. I prefer to grant it to the "Authenticated Users" group. If creating a directory symlink isn't allowed, and the filesystem supports reparse points, then a junction mount point can be created instead. In Unix terms, this is like using a bind mount instead of a symlink. In Windows, creating a mount point doesn't require any privilege or special access. (Registering it with the mount-point manager requires administrator access, but that's only done for volume mount points, as created by SetVolumeMountPointW.)