如何为所有用户注册COM对象
|
我使用
regsvr32 MyCOM.dll
为我的应用程序注册com对象。在我的管理员帐户下可以正常工作。如果将用户切换为非管理员,程序将失败。似乎未为非管理员用户加载COM对象。关于这可能是什么或可能的解决方案的任何想法?
没有找到相关结果
已邀请:
2 个回复
雇砰
久纳禾澎
将调用dll中的DllRegisterServer导出函数,该事件取决于dll。通常,它将在HKEY_LOCAL_MACHINE \\ software \\ Classes下注册它的CLSID和其他注册信息(对于写操作,它与HKEY_CLASSES_ROOT相同),因此该注册应该对每个用户可见,除非该用户在HKEY_CURRENT_USER \\下的注册有冲突。软件\\类。 我想这不是注册的问题,但是您的COM对象所做的事情阻止了非管理员用户的加载(请求对HKEY_LOCAL_MACHINE下的密钥进行写访问等),您可以使用Process Monitor并查找ACCESS_DENIED错误看看是否有任何线索。 另一个选择是为非管理员用户手动在HKEY_CURRENT_USER \\ software \\ Classes下注册对象。这应该排除注册问题。