-[8.50b7 x86 & x64] Symbolic link bug

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
johnlee
Junior Member
Junior Member
Posts: 2
Joined: 2013-11-05, 12:16 UTC

-[8.50b7 x86 & x64] Symbolic link bug

Post by *johnlee »

First, I could make a symlink as follows:

Code: Select all

c:\any dir in path>mklink a.exe b.exe
and then try launching it:

Code: Select all

c:\any dir in path>a.exe
c:\any other dir>a.exe
Both of the above attempts made in Command Prompt successfully result in b.exe being executed, whereas entering either command in the Edit1 box of TC produces a "Search path not found!" error.

FWIW, double-clicking a.exe in a TC panel works well.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

This is most probably a bug in the Windows function to launch programs, sorry. I will check it, but I doubt that I can do anything about it.
Author of Total Commander
https://www.ghisler.com
johnlee
Junior Member
Junior Member
Posts: 2
Joined: 2013-11-05, 12:16 UTC

Post by *johnlee »

ghisler(Author) wrote:... probably a bug in the Windows function ...
That's possible, but does not seem very likely, cuz the following AutoHotkey code works without a hitch as well, no matter what the current working directory is.

Code: Select all

Run, a.exe
I mean, the example of Command Prompt working well is not an isolated case.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Unfortunately it really is a Windows bug in function ShellExecuteEx.

My test results:
Case 1:
lpVerb=NULL
lpFile=a.exe
lpParameters=NULL
lpszDir=c:\current tc dir
--> Error: File not found

Case 2:
lpVerb=open
lpFile=a.exe
lpParameters=NULL
lpszDir=c:\current tc dir
--> Error: Access denied

Case 3:
lpVerb=open
lpFile=c:\full_path_to\a.exe
lpParameters=NULL
lpszDir=c:\current tc dir
--> OK
Author of Total Commander
https://www.ghisler.com
Post Reply