I want to create a (potentially) Inproc COM object in a separate process. The regular way to do this is use COM's DLL Surrogate (dllhost.exe) but this requires changing the registry for the CLSID of the COM object to be created. I do not want to change the registry since I don't care if other instances of this object are created inproc I just want to create a specific object out of process.
Currently I've written a LocalServer COM object that accepts a prog-id and returns the object but it feels like re-inventing the wheel.
Is there a way to programmatically create the COM surrogate and tell it to create a COM object?