How exactly do I config DCOM to load my DLL into a separate process?

十年热恋 提交于 2019-12-04 15:05:23

Follow the check list:

  1. There must be an AppID value specified under the CLSID key in the registry, and a corresponding AppID key. (checked)
  2. In an activation call, the CLSCTX_LOCAL_SERVER bit is set and the CLSID key does not specify LocalServer32, LocalServer, or LocalService. (checked)
  3. The CLSID key contains the InprocServer32 subkey. (checked)
  4. The proxy/stub DLL specified in the InprocServer32 key exists. ???
  5. The DllSurrogate value exists under the AppID key. (checked)

wrong registry key. you need to set LocalServer32, not InProcServer32 in HKCR\CLSID{classId}.

However, windows cannot instantiate a DLL. So you need to change your program into a full COM server exe. Windows will start your EXE and send in the argument /embedding. You can then create the CComModule and start your program.

Isn't this what DLLHOST.EXE was made for?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!