Please add /cygdrive/c/Windows/Sysnative to the default PATH

Tue Nov 17 19:54:48 GMT 2020

Dear all:

### Background information (you can skip this)

I use Pluckeye 0.99.60 for Windows.  This is a self-control tool, 
available online.  It can help to stop me from visiting certain 
time-wasting websites.

I also use Pluckeye's command-line component, pluck.exe.  [I invoke the 
tool from Bash 4.4.12.  I'm running Bash on 32-bit Cygwin 
3.1.7(0.340/5/3) on 64-bit Windows 10 build 19041.]

pluck.exe is a 64-bit tool, stored in C:\Windows\System32.

### The problem

32-bit tools, such as 32-bit Cygwin, don't usually see the real System32 
directory.  Instead, when they try to look inside System32, Windows 
shows them the contents of a different directory, which contains only 
32-bit System32 tools.

If 32-bit Cygwin needs to run a 64-bit tool, such as pluck.exe (from 
Pluckeye) or wsl.exe (from the Windows Subsystem for Linux), it must 
look in a different directory instead.  It must look in 
C:\Windows\Sysnative.  In this virtual folder, 32-bit Cygwin can see all 
the 64-bit System32 tools.

If you try to run pluck.exe without specifying that it's in 
/cygdrive/c/Windows/Sysnative, you'll get the output:

[user@host ~]$ pluck
-bash: pluck: command not found

This 'virtual folder' stuff is non-obvious and confusing.  It took me 
some time to figure it all out.

### Proposed solution

Cygwin's /etc/profile sets the PATH.

Could /etc/profile please also add /cygdrive/c/Windows/Sysnative to the 
end of the PATH?

### Conclusion

Thank you for reading this!

Also, I thank all of you who help out with the Cygwin project.

More information about the Cygwin mailing list