我的安装程序有一个需要注册的COM dll。
我尝试在win7 32位“标准用户”下运行我的安装程序,但由于COM dll注册需要管理员权限,因此失败了。除此之外,我的应用程序不需要任何管理员权限即可。
有没有办法解决这个问题。我需要为非管理员用户运行我的应用程序。
答案 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