我正在编写一个需要使用第三方ocx控件的应用程序。在我的Inno Setup脚本中,我包含以下行:
Source: C:\aPath\aControl.ocx; DestDir: {app}; Flags: restartreplace sharedfile regserver
看起来控件已注册,但安装的应用程序给了我EOleSysErrors,在Win2000中工作时没有注册控件。关于这里发生了什么,或者如何解决它的想法?
一如既往地谢谢!
P.S。我正在使用管理员级别控制。我认为在注册ActiveX控件时总是需要这样做。 (是吗?)
答案 0 :(得分:3)
如果问题仅在Windows 2000上发生,而在以后的操作系统版本上不会发生,则可能是由于缺少依赖性,例如DLL或其他不属于标准Windows 2000安装的OCX文件。我们会想到Microsoft C运行时库的版本。要追踪这类问题,您应该使用免费Dependency Walker。将其复制到有问题的机器并使用它打开OCX文件,然后将显示任何缺少的库入口点或库。
您还可以使用该工具作为调试器来运行您的应用程序。它将显示有关已加载模块和类似内容的大量信息,可能有助于查明问题。
是的,要注册OCX,您需要管理员或高级用户帐户。
答案 1 :(得分:0)
我能想到的最可能的原因是你没有在机器上安装VCRedist_x86.exe。