我正在使用Visual C ++。我真的只想为当前用户注册DLL,即使用户是管理员。
出于这个原因,我改变了所有project.rgs
对HKCR的引用。
但是,在使用regsvr32
注册DLL时使用Process Monitor,我注意到它仍然尝试创建HKCR\TypeLib\{ ... }
。
这是在致电CComModule::RegisterServer()
时发生的。
这是CComModule
固有的吗?在Visual C ++的配置方面,我有什么遗漏吗?我知道我可以使用RegOverridePredefKey
,但我不想加载更多的DLL,这不是一个非常优雅的解决方案。
答案 0 :(得分:2)
CComModule::RegisterServer()
有一个BOOL
第一个参数,指示是否应该注册类型库。将其设置为FALSE
,它不会尝试。
答案 1 :(得分:0)
如果您确实要为本地用户注册服务器而不是HKCR,则HKCR未映射到当前用户注册表配置单元。