Author eryksun
Recipients eryksun, paul.moore, steve.dower, tim.golden, vinay.sajip, zach.ware
Date 2019-01-30.21:38:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1548884305.48.0.298282689689.issue35854@roundup.psfhosted.org>
In-reply-to
Content
> Okay, testing more thoroughly on 3.5, symlinks are fine from the 
> console but not via Explorer.

I gave up on using EXE symlinks with Explorer and ShellExecute[Ex]. The shell handles symlinks like shortcuts instead of leaving it up to the file system. In Windows 7, I recall it was thoroughly broken. Symlinks wouldn't even execute. In Windows 10 it's broken in many cases because of the shortcut-like behavior.

I think I know why they're doing this, but I think the fix belongs at a lower level in the system runtime library and loader. It's to accommodate the importance of the application directory. People expect a symlink to an executable to work like a shortcut. In Unix this often just works because most libraries are installed to the system, and an application's private shared libraries can use "$ORIGIN" in the binary's RPATH (or RUNPATH), which refers to the resolved (final) executable directory. In contrast, Windows doesn't use the resolved executable path for the application directory. IMO, they could use a pair of application directories at the start of the search path -- the link's directory and then the resolved executable's directory (or the DLL directory when loading a DLL). Some resources do get resolved like this already. For example, when searching for a "<local name>\<exename>.mui" language resource, in Process Monitor we see that it will first try the unresolved application directory (e.g. "C:\Temp\en-US\notepad.exe.mui") and then the resolved path (e.g. "C:\Windows\en-US\notepad.exe.mui").
History
Date User Action Args
2019-01-30 21:38:26eryksunsetrecipients: + eryksun, paul.moore, vinay.sajip, tim.golden, zach.ware, steve.dower
2019-01-30 21:38:25eryksunsetmessageid: <1548884305.48.0.298282689689.issue35854@roundup.psfhosted.org>
2019-01-30 21:38:25eryksunlinkissue35854 messages
2019-01-30 21:38:25eryksuncreate