我指的是这个线程
如何安装 32 位和 64 位版本的 COM DLL 和“自动选择”?
我们的情况完全相同。来自同一个项目的具有相同 CLSID 应用 ID 的命名空间扩展 Dll 32 位和 64 位。现在注册这两个 Dll 可以完美地工作。注销会带来一些错误。第一次注销有效,但第二次失败。因为我认为windows(?)认为DLL已经被注销......
这两个 Dll 需要不同的 CLSID 和/或 App ID 吗???
亲切的问候,迈克尔
编辑:这是 DllUnregisterServer 所做的:
STDAPI DllUnregisterServer(void){
_AtlModule.UpdateRegistryAppId(FALSE);
HRESULT hRes2 = _AtlModule.UnregisterServer(TRUE);
if (hRes2 != S_OK)
return hRes2;
AFX_MANAGE_STATE(_afxModuleAddrThis);
if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
return ResultFromScode(SELFREG_E_CLASS);
return NOERROR;
}