c++ - 为什么我的 DLL 无法注册?

标签 c++ com dll registry

我正在 VS2005 中构建一个项目,但我的几个 DLL 无法注册。我在 Visual Studio 中收到的错误消息是:

Project : error PRJ0019: A tool returned an error code from "Registering ActiveX Control..."

这很模糊。当我通过命令行(使用 regsv32.exe)手动注册 DLL 时,出现以下错误:

LoadLibrary("test.ocx") failed - This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix the problem.

我在罪魁祸首 .ocx 文件上运行了 Dependency Walker (depends.exe),但它没有显示任何明显的问题。

我也做了重建,但我仍然遇到同样的问题。

关于我如何确定注册失败的原因有什么建议吗?

最佳答案

Microsoft 最近发布了 ATL 安全更新 (KB971090)。它不是在 MSVS2005sp1 之上更新的,它是编译时和运行时兼容性破坏者。检查你的建筑环境是否有这个补丁。

引用资料:

关于c++ - 为什么我的 DLL 无法注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570382/

相关文章:

c++ - 调试 DirectX 11 程序时缺少 DLL (d3dx11d_43.dll)

qt - QPluginLoader.instance() - 它是如何工作的?

c++ - 这是 "*ptr++ = *ptr + a"未定义的行为吗?

c++ - 为什么 C++ 允许变量名和类名相同?

c++ - 部署二维 vector C++ 困难

com - LuaCOM Word 文档标题

windows - 将结构体传递给 IDispatch 方法

c++ - IXSomething 与 ISomething

c++ - 'n' boost::thread 实例执行 'm' 个作业

.net - 在表单加载时将引用的 DLL 复制到本地目录