Stefan wrote:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
I started there, but that doesn't seem to be where they are defined (at least it wasn't here).
Process Monitor revealed that it is checking:
HKEY_CURRENT_USER\Software\Classes\Applications\[appname].exe\shell\open\command
HKEY_CLASSES_ROOT\Applications\[appname].exe\shell\open\command
HKEY_CURRENT_USER\Software\Classes\Applications\[appname].exe\shell\edit\command
HKEY_CLASSES_ROOT\Applications\[appname].exe\shell\edit\command
CLASSES_ROOT is populated from:
HKEY_CURRENT_USER\Software\Classes\
and
HKEY_LOCAL_MACHINE\Software\Classes\
So if you want to add your own you should do it in one of those two places (HKCU is given priority over HKLM when they conflict, but if you want it to be default for all users HKLM is the way to go).
The names you can use are the [appname] parts of the key names, but you can drop the ".exe".
If you wanted to add "C:\Apps\Kitten.exe" for all users you'd want to create:
"HKLM\Software\Classes\Applications\kitten.exe\shell\open\command"
And then define the default value of "command" to be: "C:\Apps\Kitten.exe"
Unless Kitten can open files then you should probably just make it so it's ready for future use: "C:\Apps\Kitten.exe" "%1"
Then you can just use "kitten" in XY.