You can't include an OCX or DLL or FLL inside a VFP exe, these stay a seperate files.
In many cases OCXes are depending on further files, eg C runtime or whatever language they are written in. In this case the OCX is the only file you need.
You better let Installshield handle the installation®istering, if not Inno Setup or something else.
In your installshield project the easiest to add an activex control installation is, you have the merge module (msm file) and just pick it from the list of the redistributables. It's mscomctl.MSM and listed as "Microsoft Windows Common Controls (6.0)".
You add it like you add the VFP Runtime Redistributable listed as "Microsoft Visual Foxpro 9 Runtime Libraries".
Indeed you can also add the OCX file and in the file list, right click on it and take a look at the properties. It has a tab "Com and .NET Properties" and there you can choose a Registration Type, either Extract COM information, which makes ISE extract the needed typelib information and put it in the registry at the setup process. With DLLs you can also choose Self-Register, as a COM DLL has to have a DllSelfRegister function inside.
The setup is the right place for registering as the setup by definition runs with elevated privileges and is able to register DLLs, OCXEs and also your own EXE, if it contains OLEPUBLIC (COM) classes. Registering from your Application at it'S runtime is possible very seldom since UAC (Vista and later) in cases the user does not start your exe via RunAs Admin. Even if you rely on most users running Windows as a user of the Administrator group, that will not enable them or your application to register an OCX.
If you fear the deinstallation or unregistering of MSCOMCTL.OCX put that away, you can't do much about it, as you can't prevent users from deleting things still needed or your whole applicaiton. You would catch Error 1434 and in case it happens inform the user, he needs to reinstall (or do a repair installation) to reinstall the missing OCX and register it.
Bye, Olaf.