3

我创建了一个基于 ocx 文件的 exe 程序,并使用 VB 打包和部署向导将 exe 文件作为程序安装在非 vb 环境中,问题是运行程序时出现此错误

“运行时错误‘440’自动化错误。

你认为是什么问题?

谢谢

4

1 回答 1

4

440 自动化错误通常表示一个(或多个)COM 对象未能加载。

这可能是 ActiveX exe、ocx,或者可能是您在项目中包含的外部依赖项之一。

确保您使用的所有外部库都已在出现错误的系统上正确注册。

您可以通过手动注册 ActiveX(.ocx、.exe)和 COM 组件(通常是 .dll)来对此进行测试。

ATL/COM、ActiveX EXE、OCX、DLL

如果目标程序集是 COM/ATL 程序集,您可以使用regsvr32.exe(位于 windows\system32 目录中)ocx文件和 COM - dlls。exe您可以通过使用以下选项运行ActiveX- 来注册它:http /regserver: //support.microsoft.com/kb/297279http://support.microsoft.com/kb/146219

.NET ComVisible

如果目标程序集是使用.net程序集ComVisible,您可以使用 注册它regasm.exe,它位于 .NET 框架目录中的某个位置。请参阅:如何将 .NET 程序集注册为 COM?

要不然

您可能想使用一个工具dependency walker来检查您的系统中缺少哪些注册和 dll。您可以从这里下载它,http: //dependencywalker.com/ 请注意,运行下载的 exe 需要您自担风险。

于 2013-10-16T11:25:53.260 回答