On 2020-11-24 00:24, Thomas Wolff wrote:
Am 19.11.2020 um 16:57 schrieb Brian Inglis:
On 2020-11-17 16:41, tealhill via Cygwin wrote:
On 2020-11-17 4:23 PM, Thomas Wolff wrote:
Am 17.11.2020 um 20:54 schrieb tealhill via Cygwin:
 >>
Cygwin's /etc/profile sets the PATH.

Could /etc/profile please also add /cygdrive/c/Windows/Sysnative to the end of the PATH?
 >
It doesn't add any other Windows folders so why this one.

### Summary

Why should Cygwin add Sysnative to $PATH?  As a workaround for Microsoft's failure to add Sysnative to %PATH%.

You have the option to add SysNative to your system or user PATH under Windows, although that would best be done in your login script.

### Full explanation

Cygwin imports the Windows %PATH% variable at startup.

It would be ideal if Microsoft would add Sysnative to the default Windows %PATH%.  Such a change would help Cygwin users and others. But I doubt that Microsoft will make this change.

Therefore, I am suggesting that Cygwin work around Microsoft's omission.  My suggested workaround is for Cygwin to add Sysnative to its own $PATH, automatically.

Cygwin starts with Cygwin paths /usr/bin:/bin and everything else is up to you.
You may add to your Cygwin PATH in your shell profile with code that switches depending on the existence of SysWOW64 and SysNative: cygpath -F 37 gives your application sysdir path, and cygpath -F 41 gives your x86 sysdir if there is one:

    https://docs.microsoft.com/en-ca/dotnet/api/system.environment.specialfolder?view=net-5.0     https://docs.microsoft.com/en-ca/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderidlist
    https://docs.microsoft.com/en-ca/windows/win32/shell/knownfolderid

and please note that SysNative appears nowhere!

That's because Sysnative is not a known folder. It is rather unknown just because it is virtual :) And that is the problem I tried to address. In cygwin32, you can `cd $WINDIR/Sysnative` but you wouldn't see the folder. For tools like ls or find it simply does not exist, while obviously it exists somehow and can be used in PATH.

It is visible to find and ls when explicitly specified as

        /proc/cygdrive/c/Windows/SysNative/

so the contents can be listed and searched, but you have to know to do so, as it does not appear to be derivable from Windows information like other folders.

--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]


--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to