我创建了一个基于 ocx 文件的 exe 程序,我使用 VB 包和部署向导将 exe 文件作为程序安装在非 vb 环境中,问题是我在运行程序时收到此错误
"运行时错误'440'自动化错误。
你认为问题出在哪里?
谢谢
440 自动化错误通常表示一个(或多个)COM 对象加载失败。
这可能是 ActiveX exe、ocx 或项目中包含的外部依赖项之一。
确保您使用的所有外部库都在出现错误的系统上正确注册。
可以通过手动注册 ActiveX(.ocx、.exe)和 COM 组件(通常.dll)来测试这一点。
ATL/COM, ActiveX EXE, OCX, DLL
如果目标程序集是 COM/ATL 程序集,则可以对ocx
文件和 COM- dll
使用 regsvr32.exe
(位于 windows\system32 目录中)。您可以通过使用选项运行 ActiveX- exe
来注册它/regserver
请参阅:http://support.microsoft.com/kb/297279 和 http://support.microsoft.com/kb/146219
.NET ComVisible
如果目标程序集是使用 ComVisible
的 .net 程序集,则可以使用 regasm.exe
注册它,它位于 .NET Framework 目录中的某个位置。 请参阅: 如何将 .NET 程序集注册为 COM?
否则
您可能希望使用dependency walker
之类的工具来检查系统中缺少哪些注册和dll。您可以从此处下载它,http://dependencywalker.com/当心,运行下载的exe的风险由您自己承担。