>I need to test if an specific OCX is installed in the systme, if not, I will install it, programatically off course!
You don't test for the presense of an OCX; you test to see if the ActiveX controls contained by the OCX are present. If you know the ProgID or CLSID of the control, you can examine the registry to see if there is an entry for it under HKEY_CLASSES_ROOT; for example, to check if the MSCOMM control is installed, you'd check for the presense of the registry key HKEY_CLASSES_ROOT\MSCOMMLib.MSComm - you can do this using the OpenKey method of the FFC registry class that accompanies your copy of VFP.
You can register an OCX once it is on the customer's system in a couple of ways; one is to call regsrv32, a Windows app that is a part of the OS, to register the control. Another is documented in a FAQ here on UT written by Paul Tatavu, which works by calling the self-registration entrypoints of the control through the API interface.
Installation of components is not simple; in many cases, there are dependencies on the presense of other files, and the correct location for the install will vary from OS to OS and system to system. You're far better off relying on an installation tool that will check for and implement such dependencies, as well as handling issues like side-by-side versioning under Win2K and WinXP.
Doug Hennig wrote a set of classes that can be downloaded from his web site,
www.stonefield.com, that will help in registering components that may be missing from a target system; you might consider looking there.