What dan says, also they might simply have put the runtime to their EXE not registering it, so even if it's your the same version as you use, it may not be registered.
What you plan to do shows you haven't understood what we're saying at all. If you'd establish a runtime of your needs you can deploy any further exe without anything accompanying it, not even an installer. But if you do an installer, if that is not the hurdle, then do yourself a favor and create an installer WITH runtimes of your VFP version. It'll just mean another turnaround, if you see your EXE does not work with the already installed runtime.
Are you afraid of breaking anything? A newer version doesn't kill an old one. The only chance you break something has the prerequisite you use another SP of the same main version and the already installed software has its runtime installed globally/registered and you also do that with your other SP. That could break, if your SP is older.
But you can prevent even that by simply doing what's recommended to not interfere with anything else: Put your needed runtimes side by side to your EXE and they'll be taken plus the existing software will not know of your runtimes in the same way it won't know about any other files in any other folder.
All you need is DBF access, so you don't need the DLLs for CHM help support, you don't need XML functionalities, you don't do report. You will only need msvcr71.dll, gdiplus.dll, vfp9r.dll, vfp9renu.dll and your EXE. If you use some FLL you may also need the msvcp71.dll or even other C runtime versions.
And yes, while your EXE may only be 50K, the runtimes add about 10 MB, so what? The smallest USB stick I still use has 1GB. And safety goes first, always.
I only recommend setting up your version of the runtimes globally and registered, if you provide many VFP applications, but even when you use the same VFP version you can put the runtimes to your EXE and are fine without a registered runtime.
And if you think about file extension mappings, you're on the wrong path, the runtimes won't set up any file extension mappings to them, only the full VFP product establishes file extension mappings of VFP file extensions, what extensions would a runtime map? EXE? Think about why not.
About your idea to make a setup of an EXE: If you really want to test whether your EXE works with the existing runtime, you only put your EXE on a stick and try to run it from there. No installer needed for that test. If it works, then what dan warned about could still happen, if you use a function not supported with the existing runtime, it'll fail, and that won't necessarily show immediately. If the runtimes are not registered, you won't be able to start from stick. In that case you may try to run the exe from the existing application folder, but then you also know you could put up your own runtime registered and won't harm the existing application.
The installer was suggested in case your customer is so stubborn, he only accepts one EXE and so you could meet this condition You don't have to tell him this initial dialogs appearing at first start really install the software. He most probably is so inaffine to computers, he doesn't realize this process is making an installation of the actual application exe plus runtimes you of course then put into the installer. That was the idea behind that. You don't need an installer to test the single exe. That would be like doing a setup for a doc to see if they have word installed at all and in the right version.
Bye, Olaf.