32 位DCOM 如何在 64位 win7 上安装?

sorry2000 2011-08-08 02:42:30
有一个32 位的DCOM(包括代理/桩子)想在 64 位 win7 上安装,结果在 MMC comexp.msc /32 中没有看到。
而且client程序也不能正常运行,::CoCreateInstance 返回 REGDB_E_BADTHREADINGMODEL,但是手工启动DCOM程序,client还是可以正常调用该DCOM的。

安装代码是 C++的:


BOOL InstallComServer(const char * modulePath, REFGUID lib_guid)
{
BOOL ret = FALSE;
wchar_t module[512];
HRESULT hr = S_OK;
CComPtr<ITypeLib> tmp;
DWORD dw = 0;

wsprintfW (module, L"%hs", modulePath);

UnRegisterTypeLib (lib_guid, 1, 0, 0, SYS_WIN32);

hr = LoadTypeLib (module, &tmp);
if(!SUCCEEDED(hr)){
dw = hr;
printf("LoadTypeLib failed <%x>\n", dw);
goto DONE;
}

hr = RegisterTypeLib (tmp, module, 0);
if(!SUCCEEDED(hr)){
dw = hr;
printf("RegisterTypeLib failed <%x>\n", dw);
goto DONE;
}

ret = TRUE;

DONE:

return ret;
}

BOOL UninstallComServer (REFGUID lib_guid)
{
BOOL ret;

if (UnRegisterTypeLib (lib_guid, 1, 0, 0, SYS_WIN32) != S_OK){
return FALSE;
}else{
ret = TRUE;
}

return ret;
}
...全文
286 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gw_net 2011-08-10
  • 打赏
  • 举报
回复
CLSID\32bitnode,安装好了在这里找找看
oyljerry 2011-08-08
  • 打赏
  • 举报
回复
注册的时候是否成功,Regsvr32等
icansaymyabc 2011-08-08
  • 打赏
  • 举报
回复
当然是注册表信息没填对

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧