Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Done HKCU\...\App Paths

May
12,846
164
Windows 10 has an "App Paths" key in HKCU. Perhaps a new TCC would look there.
 
It is accounted for in Win7.
The fact it does not exist by default changes nothing.
A lot of registry keys do not exist by default.
 
It is accounted for in Win7.
The fact it does not exist by default changes nothing.
A lot of registry keys do not exist by default.
"It is accounted for." What does that mean?

And it's existence is significant. Ordinary users cannot write to "HKLM\...\App Paths", but they can write to "HKCU\...\App Paths". TCC already looks in "HKLM\...\App Paths" when resolving EXE names. I suspect the next version will also look in "HKCU\...\App Paths", giving the user the advantage of being able to find more EXEs which are not in %PATH.
 
It means what it means. The path is searched by conforming applications. F.e. by explorer.exe.
The existence or absence is insignificant, the behavior matters.
 
Explorer also searches "App Paths". That's why I can enter "excel", "winword", "outlook", "textpad" (and others) in the Start\Run dialog when none of them are in my path. I'd call TCC's doing it a feature.
 
  • Like
Reactions: rps
What you mean by "also"? I understand you less and less.
"App Paths" is no magic, it's a shell defined registry key, that is searched by shell functions and conforming applications. F.e. Far manager.
Code:
reg QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\NBTExplorer.exe"

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\NBTExplorer.exe
    (по умолчанию)    REG_SZ    C:\Games\Minecraft\.tools\NBTExplorer\NBTExplorer.exe

[C:\dev\temp]$ tcc /C nbtexplorer.exe
TCC: Unknown command "nbtexplorer.exe"

[C:\dev\temp]$ nbtexplorer.exe
// application started normally.
[C:\dev\temp]$
 
The current version of TCC does not look in the HKCU "App Paths". It looks only in the HKLM "App Paths" key.
 
This means it is either not using right shell functions, or not fully conformant to the specs.
What specs?

TCC typically uses CreateProcess() to start apps ... not shell functions. So if it's going to look in "App Paths" it must do it manually.

Does your example (3 posts ago) use CMD? Here, textpad.exe is only mentioned in "App Paths" and TCC finds it while CMD doesn't.

Code:
v:\> ver & which textpad

TCC  23.00.31 x64   Windows 10 [Version 10.0.17763.55]
textpad is an external : C:\apps\textpad\textpad.exe

v:\> cmd /c ver ^& textpad.exe

Microsoft Windows [Version 10.0.17763.55]
'textpad.exe' is not recognized as an internal or external command,
operable program or batch file.
 
No, it doesn't. Far manager uses internal app starter, unless you Shift+Enter.
In which case it uses ShellExecuteEx().
Internal starter does not use ShellExecuteEx() directly, but is compatible with it.
 
Back
Top