OCX location and registration?

Posted by keithg on 10-Apr-2014 08:38

I'm having some problems with OCX installation on user machines.  My question at the moment is this:

Does the location of an OCX file need to be identical between the machine that creates the .W and .WRX files and the end user's machine, or is physical location on disk irrelevant as long as the OCX file has been properly registered (via regsvr32.exe) on both machines?

All Replies

Posted by Brian K. Maher on 10-Apr-2014 08:46

Hi Keith,
The location of the OCX is not relevant.  It just needs to be registered.  The registering process adds registry keys which create the english-like name key which points to another key (the GUID) which points to the file to be loaded.
Sincerely, Brian Maher

Posted by Brian K. Maher on 10-Apr-2014 08:46

One more thought...
If you are trying to register OCXs into \Windows\System32 (or System, not sure which) on a Windows 64-bit system (i.e. Win 7 64-bit) be aware that 32-bit applications will not be able to see them due to file system redirection.  Because \Windows\System32 is reserved for 64-bit files all requests to read from \Windows\System32 for 32-bit processes gets transparently redirected to \Windows\SysWOW64. 
If this applies to your situation you can register the OCXs somewhere outside of \Windows or try putting them in \Windows\SysWOW64 and registering them there.
Sincerely, Brian Maher

Posted by Matt Gilarde on 10-Apr-2014 08:47

The path of the OCX file isn't stored in the .wrx file or in the .w file. The OCX is located by matching the GUID in the .wrx file to the GUID registered in the registry.

Posted by keithg on 10-Apr-2014 09:12

Thanks, guys.  That's what I thought, but wanted to make sure.  That points me to failure of registration on the user machines, then.

This thread is closed