为什么ocx控件没有正确注册?

时间:2009-12-01 19:58:07

标签: ole inno-setup regsvr32

我正在编写一个需要使用第三方ocx控件的应用程序。在我的Inno Setup脚本中,我包含以下行:

Source: C:\aPath\aControl.ocx; DestDir: {app}; Flags: restartreplace sharedfile regserver

看起来控件已注册,但安装的应用程序给了我EOleSysErrors,在Win2000中工作时没有注册控件。关于这里发生了什么,或者如何解决它的想法?

一如既往地谢谢!

P.S。我正在使用管理员级别控制。我认为在注册ActiveX控件时总是需要这样做。 (是吗?)

2 个答案:

答案 0 :(得分:3)

如果问题仅在Windows 2000上发生,而在以后的操作系统版本上不会发生,则可能是由于缺少依赖性,例如DLL或其他不属于标准Windows 2000安装的OCX文件。我们会想到Microsoft C运行时库的版本。要追踪这类问题,您应该使用免费Dependency Walker。将其复制到有问题的机器并使用它打开OCX文件,然后将显示任何缺少的库入口点或库。

您还可以使用该工具作为调试器来运行您的应用程序。它将显示有关已加载模块和类似内容的大量信息,可能有助于查明问题。

是的,要注册OCX,您需要管理员或高级用户帐户。

答案 1 :(得分:0)

我能想到的最可能的原因是你没有在机器上安装VCRedist_x86.exe。