This again.
No, this is NOT going to work. You can NOT take permissions away from the user to stop them from running the second .EXE.
Why? Because everything is launched AS THE USER! If you launch Notepad, it runs AS YOU. It's not some special security context where the system runs Notepad.
So, if you take permissions away from the .EXE or from the folder that contains the .EXE, the user will NOT be able to find/run the .EXE.
AGAIN, you cannot prevent a user from running the second .EXE. They will always be able to launch it because the way you're designed this application MUST allow for the user to launch it. You cannot prevent them from launching the second .EXE outside of your application. It's that simple. If you launch the second .EXE from inside your application it is NO DIFFERENT than if the user launched it themselves by double-clicking on it.
Now, you can prevent the second .EXE from doing anything when it starts using a
Mutex[
^].
When your first application starts it creates a Mutex that it owns. When the second .EXE starts, the first thing it has to do is check to see if it can create this very same Mutex. If it can, the first .EXE is not running so destroy the Mutex and quit. If it can't, this means the first .EXE is running, so it can go on it's way and do whatever it is it needs to to.