DLL components are created in the client applications process space (in-process) and EXE-type components are created in their own process space (out-of-process). ActiveX controls don’t give you a choice in this matter, they can only be compiled as in-process OCX files.