ocx控件注册问题

来源:互联网 发布:郑州大学网络服务中心 编辑:程序博客网 时间:2024/04/30 13:29

最近在做控件开发时,遇到了一个问题,在编译控件注册输出时出现如下错误:

1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(732,5): warning MSB3073: 命令“regsvr32 /s "E:\mycode\ActiveX4th\Debug\ActiveX4th.ocx"”已退出,代码为 3。
1>  上一错误已转换为警告,因为调用任务时指定了 ContinueOnError=true。
1>  继续生成,因为任务“Exec”的“ContinueOnError”设置为“true”。
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(744,5): error MSB8011: 未能注册输出。请尝试启用“逐用户重定向”,或者使用提升的权限从命令提示符处注册该组件。


在之前开发控件时,也遇到了类似的问题,由于并没有记录,害得这次又花了很多时间去找寻解决方法。为了避免在此发生类似事件,故而做简单记录。

出现上述问题其实是因为缺少依赖项,如果手工注册的话,你会得到缺少某模块的错误信息。归根结底,都是依赖库的缺失(大都是动态链接库)。你可以通过Dependency Walker去查看缺失的各种文件。然后可以将这些文件放入工程目录的Debug(Release)或者直接放在Windows/System32目录下,重新编译即可。


  此外,还有一种情况,也会导致控件注册不上,如果你是在控件中引用了某个文件,而该文件目前在你电脑上又不存在时,这同样会导致上述控件注册问题。

0 0
原创粉丝点击