如何为非管理用户注册COM dll

时间:2012-06-20 21:33:47

标签: windows visual-c++ com

我的安装程序有一个需要注册的COM dll。

我尝试在win7 32位“标准用户”下运行我的安装程序,但由于COM dll注册需要管理员权限,因此失败了。除此之外,我的应用程序不需要任何管理员权限即可。

有没有办法解决这个问题。我需要为非管理员用户运行我的应用程序。

2 个答案:

答案 0 :(得分:3)

每个用户注册(例如,reg.exe导入HKCU)不需要admin。见Non-Admin ActiveX Controls

答案 1 :(得分:1)

无需注册COM组件即可使用。

您可以使用CoRegisterClassObject为对象注册IClassFactory接口。如果实现COM对象,则此方法有效。

您可以调用LoadLibrary来获取dll的DllGetclassObject入口点,并直接使用类工厂创建对象。

您可以创建一个简单的XML文件,将COM dll公开为程序集。将程序集添加为应用程序的依赖程序集,您有Registration Free Com