Win2000 Server + SP3系统环境,VC.Net做的ATL项目,选择进程内服务器(DLL),支持属性化编程及COM+ 1.0标准。然后添加一COM+ 1.0组件,接口:自定义(只实现vtable),支持IObjectControl(该接口是即时(JIT)激活COM+服务的一部分),事务:支持,线程模型从代码中改为"Apartment"(STA)。接口添加方法并实现后,编译成功,本地安装COM+服务器应用程序OK,导出COM+应用程序代理(.MSI)OK。但代理在Win2000 Professional(或Server,不管有没有打上SP3)客户端安装有问题,提示:Error registering COM+ application。而奇怪的是,代理在几台Win98客户机上安装倒正常(无错误信息提示,且装好后能在注册表里搜索到组件及远程计算机信息)。这到底是怎么回事啊,我就纳闷了!请高手指教!!!!!
我对这个问题也感到特别奇怪,没什么经验:)
你在WIN98下是正常的?我调用时为何会出现“接口不被支持”的问题?
你的问题,我建议你:
1、安装前将以前安装过的清理干净,不然的话,有这个问题。
2、你可以在组件管理器里手动安装,可以提示你到底是什么错误,我就碰到这个问题,因为我有一个文件里没有组件及类型库,所以出错。
HINSTANCE hocx=::LoadLibrary(your com);
if(hocx!=NULL)
{
FARPROC lpfn=::GetProcAddress(hocx,_T("DllRegisterServer"));
if(lpfn!=NULL)
(* lpfn)();
::FreeLibrary(hocx);
}
如果还不行 最好去组建管理器看看 :) good luck!