[8.51a] Internal associations for EXE doesn't work
Moderators: Hacker, petermad, Stefan2, white
[8.51a] Internal associations for EXE doesn't work
I try to add an internal association for *.exe (actually I've tried it for *.danger.exe) in order to forbid accidental execution.
Unfortunately it doesn't work: TC doesn't show icon for that internal association and still executes it on Enter.
Unfortunately it doesn't work: TC doesn't show icon for that internal association and still executes it on Enter.
- ghisler(Author)
- Site Admin
- Posts: 50550
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
This is intentional. Internal associations can match files in various ways, e.g. by date/time, size, various wildcards etc. Ignoring EXE should prevent the user from accidentally preventing the launch of all program files. You also can't modify the Windows association of .EXE for a similar reason.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
ts4242,
I still need to work with these files (just don't start them accidentally), so ignore list is not a solution. Currently I've made a subfolder with restricted execute permissions and a symlink in my working folder, but symlinks for files are disgusting (size 0 bytes and modification time always equals to symlink creation time). So TC internal association with noticeable icon and safe execute action would be just perfect.
I still need to work with these files (just don't start them accidentally), so ignore list is not a solution. Currently I've made a subfolder with restricted execute permissions and a symlink in my working folder, but symlinks for files are disgusting (size 0 bytes and modification time always equals to symlink creation time). So TC internal association with noticeable icon and safe execute action would be just perfect.
Just create an alternative executable extension in Windows.
Copy the stuff from HK_CLASSES_ROOT\.exe like so:
Now your .exxe files act like regular .exe and they are not filtered by TC.
And Mr. Ghisler is only partially right: You can modify the way Windows handles .exe files. Just did it a few days ago by accident
Just rename the .exe or exefile entry.
You can't off course use the "Open with..." stuff.
Copy the stuff from HK_CLASSES_ROOT\.exe like so:
Code: Select all
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.exxe]
@="exefile"
"Content Type"="application/x-msdownload"
[HKEY_CLASSES_ROOT\.exxe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
And Mr. Ghisler is only partially right: You can modify the way Windows handles .exe files. Just did it a few days ago by accident

You can't off course use the "Open with..." stuff.
- ghisler(Author)
- Site Admin
- Posts: 50550
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Sorry, not going to happen. Let me explain again why:
For example, you define an association "files younger than 1 minute". If this would be applied also to EXE files, you could no longer open any programs!
However, when you open the context menu, you actually can open the file with the first menu item "Open (Internal)".
If you have to work with live viruses, you can set
RestrictInterface=128
to disable opening anything via ENTER. Use Alt+F3 (external viewer) for safe opening via associations.
For example, you define an association "files younger than 1 minute". If this would be applied also to EXE files, you could no longer open any programs!
However, when you open the context menu, you actually can open the file with the first menu item "Open (Internal)".
If you have to work with live viruses, you can set
RestrictInterface=128
to disable opening anything via ENTER. Use Alt+F3 (external viewer) for safe opening via associations.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com