Linux has a feature called namespaces, which let you give a different "view" of the filesystem to different processes. In Windows terms, this would be useful for example if you had a legacy program "floyd" that always loaded its configuration from C:\floyd\floyd.ini
. If Windows had namespaces, you could write a wrapper script which would create a namespace in which to run floyd
, making it so when Alice ran the script, floyd would start up in an environment where C:\floyd
existed but actually pointed to C:\Users\Alice\Floyd
.
Now you may be thinking, "OK, just use soft or hard links and make C:\floyd
an alias for C:\Users\Alice
." But with namespaces, Bob can also run the startup script, but his instance of floyd (on the same computer, running at the same time) will see C:\floyd
with the contents of, say, C:\Users\Bob\Program Settings\Floyd Config
(or any other path we like).
You can do this on Linux with namespaces. Is there something similar or analogous on Windows? It's fine if it requires writing a C program, and it's OK if it only works on recent versions of Windows.