https://bugs.winehq.org/show_bug.cgi?id=45320
--- Comment #9 from Jason Edmeades us@edmeades.me.uk --- Created attachment 62293 --> https://bugs.winehq.org/attachment.cgi?id=62293 Try various environment checks
I've been doing some playing. As far as I can see, win32 API (Get/SetEnvironmentVariable, GetEnvironmentStrings) show the =C: style variables, but SetCurrentDirectory does not modify them. However, environ and getenv does not show these (they must get filtered out by the c runtime). In addition, they do not get set when you launch an exe from explorer, only by the command shell.
I conclude that cmd.exe alone sets them, and the C runtime must filter them out when an environment block is built and passed to a program, or getenv is called (dont know if getenv looks in environ or passes through to GetEnvironmentVariable). With this being the case, I dont think the bug is in wine's cmd shell, but probably the C runtime.